.site-head[data-v-88bb21c8]{max-width:1120px;margin:0 auto;padding:22px 28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.left[data-v-88bb21c8]{display:flex;align-items:center;gap:28px}.brand[data-v-88bb21c8]{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.nav[data-v-88bb21c8]{display:flex;gap:20px}.nav a[data-v-88bb21c8]{font-size:13.5px;color:var(--ink-3);padding-bottom:3px;border-bottom:1px solid transparent;transition:.15s ease}.nav a[data-v-88bb21c8]:hover{color:var(--ink)}.nav a.active[data-v-88bb21c8]{color:var(--ink);border-bottom-color:var(--ink)}.account[data-v-88bb21c8]{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--ink-3);min-width:0}.email[data-v-88bb21c8]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link[data-v-88bb21c8]{border:0;background:none;padding:0;font-size:12.5px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}.link[data-v-88bb21c8]:hover{color:var(--ink)}.login[data-v-88bb21c8]{font-size:13px;color:var(--ink);border-bottom:1px solid var(--line-2);padding-bottom:2px}.login[data-v-88bb21c8]:hover{border-color:var(--ink)}.screen[data-v-fc9e18ce]{min-height:100%}.page[data-v-fc9e18ce]{max-width:1120px;margin:0 auto;padding:44px 28px 80px}.hero[data-v-fc9e18ce]{margin-bottom:44px}.hero h1[data-v-fc9e18ce]{margin:0 0 12px;font-size:40px;line-height:1.25;letter-spacing:-.01em}.hero p[data-v-fc9e18ce]{margin:0;font-size:15px;color:var(--ink-2)}.section-head[data-v-fc9e18ce]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.section-head h2[data-v-fc9e18ce]{margin:0;font-size:17px;font-weight:600}.count[data-v-fc9e18ce]{font-size:12.5px;color:var(--ink-3)}.notice[data-v-fc9e18ce]{padding:18px 20px;border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--ink-2);font-size:14px}.notice.error[data-v-fc9e18ce]{border-style:solid;border-color:#e7c3b6;background:#fdf3ef;color:#8c3b21}.grid[data-v-fc9e18ce]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.card[data-v-fc9e18ce]{display:flex;flex-direction:column;gap:14px;padding:16px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:.18s ease}.card[data-v-fc9e18ce]:hover{transform:translateY(-2px);border-color:var(--line-2)}.card[data-v-fc9e18ce]:disabled{opacity:.6;cursor:progress}.card-art[data-v-fc9e18ce]{border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);aspect-ratio:16 / 9}.card-art img[data-v-fc9e18ce]{display:block;width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}.card-body[data-v-fc9e18ce]{display:flex;flex-direction:column;gap:6px}.card-body strong[data-v-fc9e18ce]{font-size:15.5px;font-weight:600}.meta[data-v-fc9e18ce]{font-size:12.5px;color:var(--ink-3);font-family:var(--mono)}.card-cta[data-v-fc9e18ce]{font-size:13px;color:var(--accent);font-weight:500}.editor[data-v-b491e510]{display:flex;flex-direction:column;height:100vh}.topbar[data-v-b491e510]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line);background:#fff}.topbar .left[data-v-b491e510]{display:flex;align-items:center;gap:14px}.back[data-v-b491e510]{font:inherit;font-size:13px;color:var(--ink-3);background:none;border:0;padding:0;cursor:pointer}.back[data-v-b491e510]:hover{color:var(--ink)}.topbar strong[data-v-b491e510]{font-size:15px}.sub[data-v-b491e510]{font-family:var(--mono);font-size:12px;color:var(--ink-3)}.topbar .right[data-v-b491e510]{display:flex;align-items:center;gap:14px}.dirty[data-v-b491e510]{font-size:12.5px;color:var(--warn)}.saved[data-v-b491e510]{font-size:12.5px;color:var(--ink-3)}.banner[data-v-b491e510]{margin:0;padding:10px 22px;background:#fdf3ef;color:#8c3b21;font-size:13px}.banner.ok[data-v-b491e510]{background:#eef7f0;color:#2f7d54}.banner.info[data-v-b491e510]{background:#f1eee7;color:#5c5750}.body[data-v-b491e510]{flex:1;display:grid;grid-template-columns:1fr 340px;min-height:0}.canvas-wrap[data-v-b491e510]{display:flex;align-items:center;justify-content:center;padding:28px;min-width:0;overflow:hidden;position:relative}.canvas[data-v-b491e510]{width:100%;height:auto;max-height:100%;background:#fff;border-radius:12px;box-shadow:var(--shadow);touch-action:none;cursor:grab}.hit[data-v-b491e510]{cursor:pointer;pointer-events:all}.ghost[data-v-b491e510]{opacity:.22;pointer-events:none}.handle[data-v-b491e510]{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none}.corner[data-v-b491e510]{width:44px;height:44px;margin:-22px 0 0 -22px;cursor:grab}.corner[data-v-b491e510]:active{cursor:grabbing}.edge[data-v-b491e510]{width:32px;height:32px;margin:-16px 0 0 -16px}.corner[data-v-b491e510]:hover{background:#1f1d1a0d;box-shadow:inset 0 0 0 1px #1f1d1a2e}.hb[data-v-b491e510]{width:12px;height:12px;background:#fff;border:1.5px solid #1f1d1a;border-radius:3px;box-shadow:0 1px 3px #00000038;pointer-events:auto;touch-action:none}.flip[data-v-b491e510]{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;background:#fff;border:1.5px solid #1f1d1a;border-radius:50%;color:#1f1d1a;font-size:13px;line-height:1;box-shadow:0 1px 3px #00000038;cursor:pointer}.flip[data-v-b491e510]:hover{background:#1f1d1a;color:#fff}.viewctl[data-v-b491e510]{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.viewctl button[data-v-b491e510]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;background:#fffffff0;border:1px solid var(--line);border-radius:8px;color:var(--ink-2);font-size:15px;line-height:1;box-shadow:0 1px 4px #0000001a;cursor:pointer}.viewctl button[data-v-b491e510]:hover{color:var(--ink);border-color:var(--ink-3)}.viewctl .fit[data-v-b491e510]{width:auto;padding:0 12px;border-radius:999px;font-size:12px}.badge[data-v-b491e510]{position:absolute;transform:translate(-50%,-50%);padding:3px 9px;background:#1f1d1ae0;color:#fff;font-family:var(--mono);font-size:12px;border-radius:999px;white-space:nowrap;pointer-events:none}.panel[data-v-b491e510]{display:flex;flex-direction:column;gap:14px;padding:20px;border-left:1px solid var(--line);background:#fff;overflow-y:auto;overflow-x:hidden}.hint strong[data-v-b491e510]{display:block;margin-bottom:6px;font-size:14px}.hint p[data-v-b491e510]{margin:0;font-size:13px;color:var(--ink-2);line-height:1.6}.hint .hint-more[data-v-b491e510]{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--ink-3)}.swap[data-v-b491e510]{width:100%;margin-top:2px}.panel-head[data-v-b491e510]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.panel-head h3[data-v-b491e510]{margin:0;font-size:17px}.mm[data-v-b491e510]{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);white-space:nowrap}.need[data-v-b491e510]{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.6}.need b[data-v-b491e510]{color:var(--ink);font-family:var(--mono)}.upload-box[data-v-b491e510]{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px dashed var(--line-2);border-radius:12px;text-align:center}.upload-box span[data-v-b491e510]{font-size:11.5px;color:var(--ink-3)}.btn.icon[data-v-b491e510]{width:38px;padding:0;font-size:16px;line-height:1}.btn.danger[data-v-b491e510]{color:#a33a22;border-color:#ecd3c9}.btn.danger[data-v-b491e510]:hover{border-color:#d9a894}.pool[data-v-b491e510]{display:flex;flex-direction:column}.pool-grid[data-v-b491e510]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:128px;overflow-y:auto}.pool-item[data-v-b491e510]{padding:0;aspect-ratio:1;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:#f7f3ec}.pool-item[data-v-b491e510]:hover{border-color:var(--accent)}.pool-cell[data-v-b491e510]{position:relative}.pool-del[data-v-b491e510]{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;font-size:13px;line-height:1;color:#fff;background:#b3261e;border:1px solid #fff;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .12s ease}.pool-cell:hover .pool-del[data-v-b491e510]{opacity:1}.pool-del[data-v-b491e510]:hover{background:#8c1d18}.pool-item img[data-v-b491e510]{display:block;width:100%;height:100%;object-fit:cover}.thumb-row[data-v-b491e510]{display:flex;gap:12px;align-items:center}.thumb-row img[data-v-b491e510]{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.thumb-meta[data-v-b491e510]{display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.thumb-meta .ok[data-v-b491e510]{color:var(--ok)}.thumb-meta .warn[data-v-b491e510]{color:var(--warn)}.row[data-v-b491e510]{display:flex;gap:8px;flex-wrap:wrap}.row .btn[data-v-b491e510]{height:34px;padding:0 12px;font-size:12.5px}.panel-foot[data-v-b491e510]{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3);font-family:var(--mono)}.sheet-hint[data-v-b491e510]{color:var(--accent);white-space:nowrap}@media (max-width: 900px){.body[data-v-b491e510]{grid-template-columns:1fr}.panel[data-v-b491e510]{border-left:none;border-top:1px solid var(--line)}}.page[data-v-8aa6bffa]{min-height:100%}.wrap[data-v-8aa6bffa]{max-width:480px;margin:0 auto;padding:64px 24px 80px}.card[data-v-8aa6bffa]{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 30px}.kicker[data-v-8aa6bffa]{margin:0 0 10px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}h1[data-v-8aa6bffa]{margin:0 0 10px;font-size:23px;font-weight:600;letter-spacing:-.01em}.lead[data-v-8aa6bffa]{margin:0 0 24px;font-size:13.5px;line-height:1.65;color:var(--ink-2)}.input[data-v-8aa6bffa]{width:100%;height:42px;padding:0 12px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:10px;outline:none;transition:.15s ease}.input[data-v-8aa6bffa]:focus{border-color:var(--ink-3);box-shadow:0 0 0 3px #b6532f14}.input.code[data-v-8aa6bffa]{font-family:var(--mono);font-size:24px;letter-spacing:.42em;text-align:center;padding-left:.42em}.wide[data-v-8aa6bffa]{width:100%;margin-top:20px;height:42px}.notice[data-v-8aa6bffa]{margin:16px 0 0;padding:10px 12px;border-radius:8px;font-size:12.5px;line-height:1.6}.notice.error[data-v-8aa6bffa]{background:#fdf3ef;color:#8c3b21}.notice.dev[data-v-8aa6bffa]{background:#f6f2ea;color:#7a5a24}.notice.dev b[data-v-8aa6bffa]{font-family:var(--mono);letter-spacing:.12em}.notice.dev span[data-v-8aa6bffa]{color:#9a8a6c}.foot-row[data-v-8aa6bffa]{display:flex;justify-content:space-between;margin-top:16px}.link[data-v-8aa6bffa]{border:0;background:none;padding:0;font-size:12.5px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}.link[data-v-8aa6bffa]:hover:not(:disabled){color:var(--ink)}.link[data-v-8aa6bffa]:disabled{opacity:.55;cursor:default}.aside[data-v-8aa6bffa]{margin:18px 2px 0;font-size:12.5px;line-height:1.7;color:var(--ink-3)}.page[data-v-49828839]{min-height:100%}.wrap[data-v-49828839]{max-width:1120px;margin:0 auto;padding:44px 28px 80px}.head[data-v-49828839]{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.head h1[data-v-49828839]{margin:0 0 6px;font-size:30px;letter-spacing:-.01em}.head p[data-v-49828839]{margin:0;font-size:13px;color:var(--ink-3)}.notice[data-v-49828839]{margin:0 0 20px;padding:12px 16px;border-radius:10px;font-size:13px;line-height:1.6}.notice.guest[data-v-49828839]{background:#f6f2ea;color:#7a5a24}.notice.guest a[data-v-49828839]{color:#7a4a1a;text-decoration:underline;text-underline-offset:3px;margin-left:4px}.notice.ok[data-v-49828839]{background:#eef7f0;color:#2f7d54}.notice.error[data-v-49828839]{background:#fdf3ef;color:#8c3b21}.empty[data-v-49828839]{padding:48px 24px;border:1px dashed var(--line-2);border-radius:var(--radius);text-align:center;color:var(--ink-2)}.empty p[data-v-49828839]{margin:0 0 18px;font-size:14px}.grid[data-v-49828839]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.card[data-v-49828839]{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-top[data-v-49828839]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.card-top h2[data-v-49828839]{margin:0;font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.updated[data-v-49828839]{flex:none;font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}.rename[data-v-49828839]{width:100%;height:32px;padding:0 10px;font-size:16px;font-family:inherit;border:1px solid var(--line-2);border-radius:8px;outline:none}.rename[data-v-49828839]:focus{border-color:var(--accent)}.meta[data-v-49828839]{margin:0;font-size:12.5px;color:var(--ink-3)}.progress[data-v-49828839]{display:flex;align-items:center;gap:10px}.bar[data-v-49828839]{flex:1;height:5px;border-radius:999px;background:#efeae2;overflow:hidden}.bar span[data-v-49828839]{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease}.count[data-v-49828839]{flex:none;font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}.actions[data-v-49828839]{display:flex;gap:8px;margin-top:2px}.btn.small[data-v-49828839]{height:32px;padding:0 12px;font-size:12.5px;border-radius:8px}.btn.danger[data-v-49828839]{color:#a33a22;border-color:#ecd3c9}.btn.danger[data-v-49828839]:hover{border-color:#d9a894}:root{--bg: #faf9f7;--card: #ffffff;--ink: #1f1d1a;--ink-2: #5c5750;--ink-3: #8f887e;--line: #e8e3db;--line-2: #d6cfc4;--accent: #b6532f;--accent-soft: #fbeee8;--ok: #2f7d54;--warn: #a86412;--radius: 14px;--shadow: 0 1px 2px rgba(31, 29, 26, .04), 0 8px 24px rgba(31, 29, 26, .06);--font: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--mono: "Roboto Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:10px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font-size:13.5px;transition:.15s ease}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.05)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.field-label{display:block;font-size:12px;color:var(--ink-3);margin-bottom:6px}input[type=range]{width:100%;accent-color:var(--accent)}
