.topbar[data-v-ee4a67db]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--border);height:48px;flex-shrink:0}.left[data-v-ee4a67db],.right[data-v-ee4a67db]{display:flex;align-items:center;gap:8px}.center[data-v-ee4a67db]{flex:1;text-align:center}.paper-name[data-v-ee4a67db]{font-weight:600}.paper-name .dim[data-v-ee4a67db]{color:var(--text-dim);font-weight:400;margin-left:6px;font-size:12px}.logo[data-v-ee4a67db]{font-weight:700;margin-right:8px;color:var(--accent)}.zoom-group[data-v-ee4a67db]{display:flex;align-items:center;gap:4px}.zoom-input-wrap[data-v-ee4a67db]{position:relative;display:flex;align-items:center;background:#1b1b1c;border:1px solid var(--border);border-radius:4px;padding:0 4px 0 6px;height:30px}.zoom-input[data-v-ee4a67db]{width:50px;background:transparent;border:none;padding:0;text-align:right;color:var(--text);font-size:13px;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.zoom-input[data-v-ee4a67db]:focus{outline:none}.zoom-input[data-v-ee4a67db]::-webkit-outer-spin-button,.zoom-input[data-v-ee4a67db]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.zoom-unit[data-v-ee4a67db]{font-size:12px;color:var(--text-dim);margin:0 2px 0 1px}.preset-toggle[data-v-ee4a67db]{background:transparent;border:none;color:var(--text-dim);padding:0 4px;cursor:pointer;font-size:11px;height:100%}.preset-toggle[data-v-ee4a67db]:hover,.preset-toggle.active[data-v-ee4a67db]{color:var(--accent)}.preset-menu[data-v-ee4a67db]{position:absolute;top:calc(100% + 4px);right:0;background:var(--panel);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);padding:4px;z-index:60;min-width:100px}.preset-menu button[data-v-ee4a67db]{display:block;width:100%;text-align:right;background:transparent;border:none;color:var(--text);padding:5px 10px;border-radius:3px;font-size:13px}.preset-menu button[data-v-ee4a67db]:hover{background:var(--panel-2)}.preset-menu button.current[data-v-ee4a67db]{color:var(--accent);font-weight:600}@media (max-width: 768px){.topbar[data-v-ee4a67db]{padding:6px 8px;gap:6px;height:44px}.logo[data-v-ee4a67db],.center[data-v-ee4a67db]{display:none}.left[data-v-ee4a67db],.right[data-v-ee4a67db]{gap:4px}.left .ghost[data-v-ee4a67db],.right .ghost[data-v-ee4a67db]{padding:4px 6px;font-size:12px}.zoom-input[data-v-ee4a67db]{width:36px;font-size:12px}.zoom-input-wrap[data-v-ee4a67db]{height:28px;padding:0 2px 0 4px}.preset-toggle[data-v-ee4a67db]{padding:0 2px}.right .ghost[data-v-ee4a67db]:last-of-type{display:none}.right .primary[data-v-ee4a67db]{padding:4px 8px;font-size:12px}}.left-sidebar[data-v-b7b796be]{width:72px;background:var(--panel);border-right:1px solid var(--border);padding:10px 6px;display:flex;flex-direction:column;gap:8px;flex-shrink:0;position:relative;z-index:10}.tool-wrap[data-v-b7b796be]{position:relative}.tool[data-v-b7b796be]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:60px;width:100%;background:transparent;border:1px solid transparent;color:var(--text);border-radius:6px;font-size:12px;padding:6px}.tool[data-v-b7b796be]:hover,.tool.active[data-v-b7b796be]{background:var(--panel-2);border-color:var(--border)}.tool.active[data-v-b7b796be]{border-color:var(--accent);color:var(--accent)}.tool[data-v-b7b796be]:disabled{opacity:.4;cursor:not-allowed}.popover[data-v-b7b796be]{position:absolute;top:0;left:calc(100% + 6px);width:220px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:8px;z-index:50}.pop-title[data-v-b7b796be]{font-size:11px;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;padding:4px 6px 8px}.pop-item[data-v-b7b796be]{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:1px solid transparent;padding:8px;border-radius:6px;text-align:left;color:var(--text)}.pop-item[data-v-b7b796be]:hover{background:var(--panel-2);border-color:var(--border)}.pi-icon[data-v-b7b796be]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;font-weight:700;font-size:14px;flex-shrink:0}.pi-body[data-v-b7b796be]{flex:1}.pi-name[data-v-b7b796be]{font-size:13px;font-weight:600}.pi-desc[data-v-b7b796be]{font-size:11px;color:var(--text-dim)}.emoji-pop[data-v-b7b796be]{width:320px;max-height:70vh;overflow-y:auto;padding:10px}.emoji-hint[data-v-b7b796be]{font-size:11px;color:var(--text-dim);padding:0 6px 8px;line-height:1.5}.emoji-cat[data-v-b7b796be]{margin-bottom:8px}.emoji-cat-title[data-v-b7b796be]{font-size:11px;color:var(--text-dim);padding:6px 4px 4px;letter-spacing:.04em}.emoji-grid[data-v-b7b796be]{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.emoji-btn[data-v-b7b796be]{display:flex;align-items:center;justify-content:center;height:34px;width:100%;background:transparent;border:1px solid transparent;border-radius:4px;font-size:20px;line-height:1;cursor:pointer;padding:0;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.emoji-btn[data-v-b7b796be]:hover{background:var(--panel-2);border-color:var(--border)}.emoji-btn[data-v-b7b796be]:active{transform:scale(.92)}@media (max-width: 768px){.left-sidebar[data-v-b7b796be]{position:absolute;top:8px;left:8px;bottom:auto;width:52px;max-height:calc(100% - 16px);overflow-y:auto;padding:6px 4px;gap:6px;background:var(--panel);border-right:none;border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #0006;z-index:30}.tool[data-v-b7b796be]{height:48px;font-size:10px;padding:4px;gap:2px}.popover[data-v-b7b796be]{max-width:calc(100vw - 80px)}.emoji-pop[data-v-b7b796be]{width:min(320px,calc(100vw - 80px));max-height:60vh}}textarea[data-v-ddc56452]{resize:vertical}.safety[data-v-ddc56452]{margin-top:6px;font-size:11px}.safe[data-v-ddc56452]{color:#71d68a}.unsafe[data-v-ddc56452]{color:#e7b65a}.dim-small[data-v-ddc56452]{font-size:11px;color:var(--text-dim);margin-top:2px}.list-toggle[data-v-ddc56452]{width:auto;flex:1;font-size:12px}input[type=range][data-v-ddc56452]{width:100%}.align-icon[data-v-ddc56452]{width:16px;height:16px;fill:currentColor;display:block;margin:0 auto}.check[data-v-bf9df7d9]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}.dim-small[data-v-bf9df7d9]{font-size:11px;color:var(--text-dim);margin-top:2px}input[type=range][data-v-bf9df7d9]{width:100%}.type-row[data-v-9a983b99]{font-weight:600;font-size:13px;color:var(--accent)}.check[data-v-9a983b99]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}.dim-small[data-v-9a983b99]{font-size:11px;color:var(--text-dim);margin-top:2px}input[type=range][data-v-9a983b99]{width:100%}.align-block[data-v-fb315432]{margin-bottom:4px}.section-title[data-v-fb315432]{font-size:11px;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px}.align-row[data-v-fb315432]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:4px}.align-btn[data-v-fb315432]{display:flex;align-items:center;justify-content:center;height:32px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer}.align-btn[data-v-fb315432]:hover{background:var(--panel);border-color:var(--accent);color:var(--accent)}.align-btn[data-v-fb315432]:active{transform:scale(.96)}.right-sidebar[data-v-b1354def]{width:280px;background:var(--panel);border-left:1px solid var(--border);padding:14px;overflow-y:auto;flex-shrink:0}.empty[data-v-b1354def]{color:var(--text-dim);text-align:center;margin-top:40px}.hint[data-v-b1354def]{color:var(--text-dim);font-size:12px;margin:4px 0 0}.info-row[data-v-b1354def]{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--text-dim)}.info-row span[data-v-b1354def]:last-child{color:var(--text)}.header-row[data-v-b1354def]{display:flex;align-items:center;justify-content:space-between}.title[data-v-b1354def]{font-weight:600}.actions[data-v-b1354def]{display:flex;gap:4px}.actions .danger[data-v-b1354def]{color:var(--danger)}@media (max-width: 768px){.right-sidebar[data-v-b1354def]{width:100%;max-height:45vh;border-left:none;border-top:1px solid var(--border);padding:12px;flex-shrink:0}.empty[data-v-b1354def]{margin-top:16px;font-size:13px}}.canvas-area[data-v-1257abe9]{flex:1;position:relative;background:linear-gradient(45deg,#2a2a2a 25%,transparent 25%),linear-gradient(-45deg,#2a2a2a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#2a2a2a 75%),linear-gradient(-45deg,transparent 75%,#2a2a2a 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;background-color:#232323;overflow:hidden;min-width:0}.stage-host[data-v-1257abe9]{position:absolute;top:0;right:0;bottom:0;left:0}.hint-overlay[data-v-1257abe9]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);pointer-events:none;z-index:1}.overlay[data-v-9acb2002]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}.dialog[data-v-9acb2002]{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:24px;width:720px;max-width:92vw;max-height:86vh;overflow:auto;box-shadow:var(--shadow);position:relative}.close-btn[data-v-9acb2002]{position:absolute;top:10px;right:12px;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,border-color .15s}.close-btn[data-v-9acb2002]:hover{background:#4a4a4f;border-color:var(--accent)}.dialog h2[data-v-9acb2002]{margin:0 0 4px;font-size:18px}.hint[data-v-9acb2002]{margin:0 0 16px;color:var(--text-dim);font-size:13px}.grid[data-v-9acb2002]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.preset[data-v-9acb2002]{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;background:var(--panel-2);border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:border-color .15s,background .15s;position:relative;min-height:110px}.preset[data-v-9acb2002]:hover{border-color:var(--accent);background:#34343a}.preset-name[data-v-9acb2002]{font-weight:600}.preset-dim[data-v-9acb2002]{font-size:12px;color:var(--text-dim)}.preview[data-v-9acb2002]{margin-top:auto;background:#f6f6f6;border-radius:2px;align-self:center;box-shadow:0 2px 4px #0000004d}.custom[data-v-9acb2002]{border-top:1px solid var(--border);padding-top:12px}.overlay[data-v-5c41c55d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}.dialog[data-v-5c41c55d]{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px;width:720px;max-width:92vw;max-height:86vh;display:flex;flex-direction:column}.head[data-v-5c41c55d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.tabs[data-v-5c41c55d]{display:flex;gap:6px}.tabs button[data-v-5c41c55d]{background:transparent;border:1px solid transparent;color:var(--text-dim)}.tabs button.active[data-v-5c41c55d]{background:var(--panel-2);border-color:var(--border);color:var(--text)}.body[data-v-5c41c55d]{overflow-y:auto;min-height:320px}.info[data-v-5c41c55d]{text-align:center;color:var(--text-dim);padding:40px 20px}.info code[data-v-5c41c55d]{background:var(--panel-2);padding:1px 6px;border-radius:3px;font-size:12px}.info .dim[data-v-5c41c55d]{font-size:12px;margin-top:6px}.grid[data-v-5c41c55d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.item[data-v-5c41c55d]{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;cursor:pointer}.bg-badge[data-v-5c41c55d]{position:absolute;top:4px;left:4px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px;letter-spacing:1px;z-index:1}.item[data-v-5c41c55d]:hover{border-color:var(--accent)}.item img[data-v-5c41c55d]{max-width:100%;max-height:100px;object-fit:contain;background:#fff;border-radius:3px}.item .name[data-v-5c41c55d]{font-size:12px;color:var(--text);text-align:center}.item .desc[data-v-5c41c55d]{font-size:10px;color:var(--text-dim);text-align:center;line-height:1.3;margin-top:2px}.dropzone[data-v-5c41c55d]{border:2px dashed var(--border);border-radius:8px;padding:50px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--panel-2)}.dropzone.active[data-v-5c41c55d],.dropzone[data-v-5c41c55d]:hover{border-color:var(--accent);background:#2f343d}.drop-inner .icon[data-v-5c41c55d]{font-size:36px;margin-bottom:8px;color:var(--accent)}.drop-inner .dim[data-v-5c41c55d]{color:var(--text-dim);font-size:12px;margin-top:4px}.overlay[data-v-6d839274]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}.dialog[data-v-6d839274]{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px;width:880px;max-width:94vw;max-height:88vh;display:flex;flex-direction:column}.head[data-v-6d839274]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.head h3[data-v-6d839274]{margin:0}.head-actions[data-v-6d839274]{display:flex;gap:6px}.dump-box[data-v-6d839274]{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:12px}.dump-head[data-v-6d839274]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--text-dim);gap:8px}.dump-head>div[data-v-6d839274]{display:flex;gap:6px}.dump-box textarea[data-v-6d839274]{width:100%;height:180px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;resize:vertical}.info[data-v-6d839274]{text-align:center;color:var(--text-dim);padding:40px 20px}.info code[data-v-6d839274]{background:var(--panel-2);padding:1px 6px;border-radius:3px;font-size:12px}.info .dim[data-v-6d839274]{font-size:12px;margin-top:6px}.grid[data-v-6d839274]{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.card[data-v-6d839274]{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:8px}.thumb-wrap[data-v-6d839274]{width:100%;height:220px;background:#fff;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000040}.thumb[data-v-6d839274]{width:100%;height:100%}.info-row[data-v-6d839274]{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.name[data-v-6d839274]{font-weight:600;font-size:13px}.paper[data-v-6d839274]{font-size:11px;color:var(--text-dim)}.actions[data-v-6d839274]{display:flex;gap:6px}.actions button[data-v-6d839274]{flex:1;font-size:12px;padding:6px 8px}.app[data-v-480928ed]{display:flex;flex-direction:column;height:100%;width:100%}.main[data-v-480928ed]{flex:1;min-height:0;display:flex;width:100%}@media (max-width: 768px){.main[data-v-480928ed]{flex-direction:column;position:relative}}:root{--bg: #1e1e1e;--panel: #252526;--panel-2: #2d2d30;--border: #3c3c3c;--text: #e6e6e6;--text-dim: #9d9d9d;--accent: #4f8cff;--accent-hover: #6ea0ff;--danger: #e15252;--shadow: 0 4px 16px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,-apple-system,sans-serif;font-size:14px;overflow:hidden;-webkit-user-select:none;user-select:none}button{font-family:inherit;font-size:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:6px 10px;cursor:pointer;transition:background .15s,border-color .15s}button:hover{background:#3a3a3d}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{background:transparent}input[type=text],input[type=number],select,textarea{font-family:inherit;font-size:13px;color:var(--text);background:#1b1b1c;border:1px solid var(--border);border-radius:4px;padding:6px 8px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}label{font-size:12px;color:var(--text-dim);display:block;margin-bottom:4px}.hidden{opacity:0}.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0}.toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;border:1px solid var(--border);background:var(--panel-2);cursor:pointer;font-size:14px}.toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.divider{height:1px;background:var(--border);margin:10px 0}.section-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:6px 0 8px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a3a3d;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#4a4a4d}
