.home-view[data-v-4e4d27f1]{padding-top:40px}.title[data-v-4e4d27f1]{margin:0 0 28px;font-size:24px;font-weight:700;text-align:center}.tool-grid[data-v-4e4d27f1]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tool-card[data-v-4e4d27f1]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 20px 24px;background:var(--panel);border:1px solid var(--line);border-radius:14px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}.tool-card[data-v-4e4d27f1]:hover{transform:translateY(-3px);box-shadow:0 8px 30px #00000014;border-color:transparent}.card-mark[data-v-4e4d27f1]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:var(--primary);font-weight:800;font-size:18px}.card-name[data-v-4e4d27f1]{font-size:16px;font-weight:700;color:var(--text)}.card-desc[data-v-4e4d27f1]{font-size:12px;color:var(--muted);line-height:1.5}@media (max-width: 640px){.home-view[data-v-4e4d27f1]{padding-top:24px}.title[data-v-4e4d27f1]{font-size:20px;margin-bottom:20px}.tool-grid[data-v-4e4d27f1]{grid-template-columns:1fr;gap:10px}.tool-card[data-v-4e4d27f1]{padding:18px 16px}.card-mark[data-v-4e4d27f1]{width:40px;height:40px;font-size:15px}.card-name[data-v-4e4d27f1]{font-size:15px}}.a4-composer{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(280px,350px) 1fr;gap:16px}.a4-toolbar{align-self:start;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.a4-panel-head h1{margin:0;font-size:20px;line-height:1.2}.a4-panel-head p{margin:6px 0 0;color:var(--muted)}.a4-group{padding:14px 0;border-top:1px solid var(--line)}.a4-panel-head+.a4-group{border-top:0}.a4-label{display:block;margin-bottom:8px;color:var(--muted);font-weight:700}.a4-toolbar input[type=file],.a4-toolbar input[type=number],.a4-toolbar select{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}.a4-toolbar input[type=range]{width:100%;accent-color:var(--primary)}.a4-row{display:grid;grid-template-columns:1fr 84px;gap:10px;align-items:center}.a4-hint{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.a4-actions{display:grid;gap:10px}.a4-btn{min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);cursor:pointer}.a4-btn.primary{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:700}.a4-editing-surface{min-width:0;display:grid;place-items:start center;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:auto}.a4-paper{width:min(100%,640px);aspect-ratio:210 / 297;background:#fff;box-shadow:0 10px 30px #0f172a1f;position:relative;overflow:hidden}.a4-slot{position:absolute;display:grid;place-items:center;overflow:hidden;background:#f8fafc;border:1px dashed #cbd5e1}.a4-slot.has-image{border:0;background:transparent}.a4-slot span{padding:10px;color:var(--muted);text-align:center}.a4-image-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.a4-image-stage.rotated{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--rotation));transform-origin:center}.a4-image-stage img{width:100%;height:100%;object-position:center;display:block}.a4-print-only{display:none}@media (max-width: 820px){.a4-composer{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:0}body.a4-route{width:210mm;height:297mm;margin:0;padding:0;background:#fff;overflow:hidden}body.a4-route .app-sidebar,body.a4-route .workspace-topbar,body.a4-route .a4-composer{display:none!important}body.a4-route .a4-print-only{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:210mm;height:297mm;overflow:hidden}body.a4-route .a4-print-paper{width:210mm;height:calc(297mm - 1px);background:#fff;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;break-after:avoid;break-before:avoid;break-inside:avoid;page-break-after:avoid;page-break-before:avoid;page-break-inside:avoid}body.a4-route .a4-slot{border:0}}.app[data-v-55663d65]{width:min(980px,100%);margin:0 auto;display:grid;gap:16px}.panel[data-v-55663d65]{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:16px}.panel-head h1[data-v-55663d65],.panel-head h2[data-v-55663d65]{margin:0;font-size:20px;line-height:1.2}.panel-head p[data-v-55663d65]{margin:6px 0 0;color:var(--muted)}.stage-wrap[data-v-55663d65],.editor-stage-wrap[data-v-55663d65]{margin-top:14px;display:flex;justify-content:center}.stage[data-v-55663d65],.editor-stage[data-v-55663d65]{width:min(100%,360px);aspect-ratio:5 / 7;position:relative;overflow:hidden;border-radius:8px;background:#dfe7f1;border:1px solid #c7d0db;touch-action:none}.stage video[data-v-55663d65],.stage img[data-v-55663d65],.editor-stage img[data-v-55663d65]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.editor-stage img[data-v-55663d65]{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mask[data-v-55663d65]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,#0000005c,#0000001f 14%,#0000 24%,#0000 76%,#0000001f 86%,#0000005c),linear-gradient(to right,#0000002e,#0000 16%,#0000 84%,#0000002e);mix-blend-mode:multiply}.guide[data-v-55663d65],.frame[data-v-55663d65]{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:8px;border:2px dashed rgba(255,255,255,.92);pointer-events:none}.guide[data-v-55663d65]{display:flex;align-items:flex-start;justify-content:center;padding-top:10px;border:none;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.25);font-weight:600}.actions[data-v-55663d65],.controls[data-v-55663d65],.swatches[data-v-55663d65]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.btn[data-v-55663d65]{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:8px;padding:10px 14px;cursor:pointer}.btn.primary[data-v-55663d65]{background:var(--primary);border-color:var(--primary);color:#fff}.btn.ghost[data-v-55663d65]{background:#f8fafc}.btn[data-v-55663d65]:disabled{opacity:.45;cursor:not-allowed}.file-input[data-v-55663d65]{position:fixed;inset:auto auto 0 0;width:1px;height:1px;opacity:.01;pointer-events:none}.status[data-v-55663d65]{margin-top:12px;color:var(--muted)}.control[data-v-55663d65]{display:grid;gap:8px;min-width:min(100%,360px)}.control input[type=range][data-v-55663d65]{width:100%}.swatches[data-v-55663d65]{gap:8px}.swatch[data-v-55663d65]{width:28px;height:28px;padding:0;border-radius:999px;border:2px solid transparent;box-shadow:inset 0 0 0 1px #0f172a1f}.swatch.active[data-v-55663d65]{border-color:#111827}.result[data-v-55663d65]{margin-top:14px;display:grid;justify-content:center}.result canvas[data-v-55663d65]{width:min(100%,300px);height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}@media (max-width: 640px){.panel[data-v-55663d65]{padding:14px}.stage[data-v-55663d65],.editor-stage[data-v-55663d65]{width:100%}}.servo-tool[data-v-50464271]{display:grid;gap:16px}.tool-layout[data-v-50464271]{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start}.tool-main[data-v-50464271]{display:grid;gap:16px;min-width:0}.tool-sidebar[data-v-50464271]{position:sticky;top:16px;display:grid;gap:16px}.panel[data-v-50464271]{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.panel-head h2[data-v-50464271],.panel-head h1[data-v-50464271]{margin:0;font-size:20px}.panel-head p[data-v-50464271]{margin:4px 0 0;color:var(--muted)}.collapsible[data-v-50464271]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1}.preview-head[data-v-50464271]{display:flex;align-items:center;gap:12px}.toggle-icon[data-v-50464271]{color:var(--muted);font-size:16px}.servo-list[data-v-50464271]{display:grid;gap:12px;margin-top:12px}.servo-card[data-v-50464271]{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfcfe}.card-header[data-v-50464271]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-label[data-v-50464271]{font-weight:700;color:var(--primary)}.upload-row[data-v-50464271]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.file-input-hidden[data-v-50464271]{display:none}.upload-status[data-v-50464271]{color:var(--muted);font-size:12px}.form-grid[data-v-50464271]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.field[data-v-50464271]{display:grid;gap:4px}.field span[data-v-50464271]{font-size:13px;color:var(--muted)}.field span em[data-v-50464271]{font-style:normal;font-weight:600;color:var(--text)}.field input[data-v-50464271],.field select[data-v-50464271]{padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text)}.field input[data-v-50464271]:focus,.field select[data-v-50464271]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}.actions[data-v-50464271]{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.btn[data-v-50464271]{padding:7px 16px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);cursor:pointer;font-weight:600}.btn[data-v-50464271]:hover{background:#f3f4f6}.btn.primary[data-v-50464271]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.primary[data-v-50464271]:hover{background:#1d4ed8}.btn-sm[data-v-50464271]{padding:4px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--text);cursor:pointer;font-size:13px}.btn-sm[data-v-50464271]:hover{background:#f3f4f6}.btn-sm.danger[data-v-50464271]{color:#dc2626;border-color:#fecaca}.btn-sm.danger[data-v-50464271]:hover{background:#fef2f2}.btn-sm[data-v-50464271]:disabled{opacity:.4;cursor:not-allowed}.json-preview[data-v-50464271]{margin:12px 0 0;padding:14px;background:#f8f9fb;border:1px solid var(--line);border-radius:6px;font-size:13px;overflow-x:auto;white-space:pre}.json-preview code[data-v-50464271]{font-family:SF Mono,Fira Code,monospace}.error-panel[data-v-50464271]{border-color:#fecaca;background:#fef2f2;color:#dc2626}.error-panel p[data-v-50464271]{margin:0}@media (max-width: 640px){.form-grid[data-v-50464271]{grid-template-columns:1fr}.panel[data-v-50464271]{padding:14px}.panel-head h2[data-v-50464271],.panel-head h1[data-v-50464271]{font-size:17px}.upload-row[data-v-50464271]{flex-wrap:wrap}.upload-status[data-v-50464271]{width:100%}.preview-head[data-v-50464271]{flex-wrap:wrap}.json-preview[data-v-50464271]{font-size:11px;padding:10px}.actions[data-v-50464271]{flex-direction:column}.actions .btn[data-v-50464271]{width:100%}.radio-row[data-v-50464271]{flex-direction:column}.servo-card[data-v-50464271]{padding:12px}.card-header[data-v-50464271]{flex-wrap:wrap;gap:8px}}@media (max-width: 900px){.tool-layout[data-v-50464271]{grid-template-columns:1fr}.tool-sidebar[data-v-50464271]{position:static}}.converter-panel h3[data-v-50464271]{margin:0 0 12px;font-size:16px}.radio-row[data-v-50464271]{display:flex;gap:6px;margin-bottom:12px}.radio-item[data-v-50464271]{flex:1;display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:13px;transition:border-color .15s,background .15s}.radio-item[data-v-50464271]:has(input:checked){border-color:var(--primary);background:#eef2ff}.radio-item input[data-v-50464271]{accent-color:var(--primary);margin:0}.converter-panel .field[data-v-50464271]{margin-bottom:10px}.copy-btn[data-v-50464271]{width:100%;margin-top:4px}.param-ref[data-v-50464271]{margin-top:0}.param-ref-toggle[data-v-50464271]{margin:0;font-size:16px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between}.param-list[data-v-50464271]{margin:12px 0 0;display:grid;gap:10px}.param-list dt[data-v-50464271]{font-weight:700;font-size:12px;color:var(--primary);margin-bottom:2px;font-family:SF Mono,Fira Code,monospace}.param-list dd[data-v-50464271]{margin:0;font-size:12px;color:var(--muted);line-height:1.6}.servo-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);padding:10px 24px;border-radius:8px;background:#1f2937;color:#fff;font-size:14px;font-weight:600;box-shadow:0 8px 24px #0000002e;z-index:9999;animation:toast-in .25s ease;pointer-events:none;white-space:nowrap;text-align:center}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.app-shell{width:100%;max-width:100%;margin:0 auto;min-height:calc(100vh - 32px);display:grid;gap:16px;padding:0 24px}@media (max-width: 640px){.app-shell{padding:0 12px;gap:12px}}.tool-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.back-btn{border:0;background:transparent;color:var(--primary);font-weight:700;cursor:pointer;padding:6px 10px;border-radius:6px}.back-btn:hover{background:#edf4ff}.tool-title{font-weight:700;font-size:16px}@media (max-width: 760px){.tool-topbar{flex-wrap:wrap;gap:8px}}:root{color-scheme:light;--bg: #f3f5f7;--panel: #ffffff;--text: #172033;--muted: #667085;--line: #d9e0ea;--primary: #2563eb;--shadow: 0 10px 30px rgba(15, 23, 42, .08)}*{box-sizing:border-box}html,body,#app{min-height:100%}html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{padding:16px}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 70%,white);outline-offset:2px}@media (max-width: 640px){body{padding:12px}}
