html{margin:0;padding:0;height:100%}body{overflow:hidden}.app-dialog-overlay[data-v-1e3171cd]{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1000}.app-dialog[data-v-1e3171cd]{width:480px;max-width:calc(100% - 40px);background:#111827;border-radius:10px;box-shadow:0 20px 45px #00000073;border:1px solid #4b5563;color:#e5e7eb}.app-dialog__header[data-v-1e3171cd]{padding:14px 18px 8px;border-bottom:1px solid rgba(55,65,81,.9)}.app-dialog__title[data-v-1e3171cd]{margin:0;font-size:15px;font-weight:600}.app-dialog__body[data-v-1e3171cd]{padding:18px;font-size:14px;color:#e5e7eb}.app-dialog__footer[data-v-1e3171cd]{padding:10px 18px 14px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid rgba(31,41,55,.9)}.app-dialog__btn[data-v-1e3171cd]{min-width:76px;padding:6px 14px;border-radius:999px;font-size:13px;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.app-dialog__btn--ghost[data-v-1e3171cd]{background:transparent;border-color:#4b5563;color:#e5e7eb}.app-dialog__btn--ghost[data-v-1e3171cd]:hover{background:#374151cc}.app-dialog__btn--primary[data-v-1e3171cd]{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 0 0 1px #2563eb73}.app-dialog__btn--primary[data-v-1e3171cd]:hover{background:#1d4ed8;border-color:#1d4ed8}.three-viewport[data-v-0f4ce281]{width:100%;height:100%;border-radius:8px;overflow:hidden;background:#f5f5f7}.whiteboard-root[data-v-ed34c433]{display:flex;height:100vh;background:#2f3338;color:#f5f5f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sidebar[data-v-ed34c433]{width:260px;background:#191c20;padding:12px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;border-right:1px solid #343840}.sidebar.collapsed[data-v-ed34c433]{width:56px;overflow:hidden}.collapse-btn[data-v-ed34c433]{align-self:flex-end;margin-bottom:8px;padding:2px 6px;border-radius:4px;border:1px solid #4b5563;background:#111827;color:#d1d5db;font-size:12px;cursor:pointer}.collapse-btn[data-v-ed34c433]:hover{background:#1f2937}.logo-brand[data-v-ed34c433]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.logo-icon[data-v-ed34c433]{position:relative;width:26px;height:26px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #0f172acc;border-radius:999px;overflow:hidden}.logo-heart[data-v-ed34c433]{position:absolute;inset:-2px;width:30px;height:30px;pointer-events:none}.logo-initials[data-v-ed34c433]{position:relative;z-index:1;font-size:11px;color:#111827;font-weight:700}.sidebar-section h3[data-v-ed34c433]{font-size:13px;font-weight:600;margin-bottom:8px;color:#c0c4cc}.toolbar-btn[data-v-ed34c433]{width:100%;padding:6px 8px;margin-bottom:6px;border-radius:4px;border:none;background:#262a30;color:#e9eaec;text-align:left;font-size:13px;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;gap:6px}.toolbar-btn[data-v-ed34c433]:hover{background:#323843}.toolbar-btn.active[data-v-ed34c433]{background:#3b82f6;color:#fff}.toolbar-icon[data-v-ed34c433]{width:16px;text-align:center}.toolbar-label[data-v-ed34c433]{flex:1}.field[data-v-ed34c433]{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#d0d3da;margin-bottom:8px}.field input[type=color][data-v-ed34c433]{border:none;background:transparent;padding:0;width:40px;height:22px}.field input[type=range][data-v-ed34c433]{width:140px}.field select[data-v-ed34c433]{width:140px;background:#111827;border-radius:4px;border:1px solid #4b5563;color:#e5e7eb;font-size:12px}.main[data-v-ed34c433]{flex:1;display:flex;flex-direction:column;min-width:0}.boards-header[data-v-ed34c433]{display:flex;align-items:center;padding:6px 10px;gap:6px;background:#1f2328;border-bottom:1px solid #343840}.board-tab[data-v-ed34c433]{padding:4px 10px;border-radius:4px;background:#262a30;font-size:13px;cursor:pointer;color:#d0d3da}.board-tab.active[data-v-ed34c433]{background:#3b82f6;color:#fff}.add-board-btn[data-v-ed34c433]{margin-left:auto;padding:4px 10px;border-radius:4px;border:1px dashed #4b5563;background:transparent;color:#9ca3af;font-size:13px;cursor:pointer}.add-board-btn[data-v-ed34c433]:hover{border-color:#e5e7eb;color:#e5e7eb}.spacer[data-v-ed34c433]{flex:1}.header-btn[data-v-ed34c433]{margin-left:4px;padding:4px 8px;border-radius:4px;border:1px solid #4b5563;background:#1f2937;color:#e5e7eb;font-size:12px;cursor:pointer}.header-btn[data-v-ed34c433]:hover{background:#374151}.logo-text[data-v-ed34c433]{margin-right:8px;font-size:12px;color:#9ca3af;font-weight:600}.header-btn--ghost[data-v-ed34c433]{background:transparent;border-color:#4b5563}.header-btn--ghost[data-v-ed34c433]:hover{background:#111827}.header-icon[data-v-ed34c433]{margin-right:4px}.dialog-message[data-v-ed34c433]{margin:0 0 10px;font-size:14px;color:#e5e7eb}.dialog-input[data-v-ed34c433]{width:100%;box-sizing:border-box;padding:6px 8px;border-radius:6px;border:1px solid #4b5563;background:#020617;color:#e5e7eb;font-size:13px}.dialog-input[data-v-ed34c433]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb80}.eraser-menu[data-v-ed34c433]{margin-top:4px;padding:6px;background:#020617;border-radius:6px;border:1px solid #4b5563}.eraser-menu-item[data-v-ed34c433]{width:100%;padding:4px 6px;border-radius:4px;border:none;background:transparent;color:#e5e7eb;font-size:12px;cursor:pointer;text-align:left}.eraser-menu-item[data-v-ed34c433]:hover{background:#1f2937}.eraser-menu-item.active[data-v-ed34c433]{background:#2563eb}.floating-menu[data-v-ed34c433]{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:70px;background:transparent;z-index:900}.floating-menu-panel[data-v-ed34c433]{min-width:220px;max-width:320px;background:#020617;border-radius:10px;border:1px solid #4b5563;box-shadow:0 18px 40px #00000080;padding:8px 10px 10px}.floating-menu-title[data-v-ed34c433]{font-size:13px;font-weight:600;color:#e5e7eb;margin-bottom:6px}.floating-menu-item[data-v-ed34c433]{width:100%;padding:4px 6px;border-radius:6px;border:none;background:transparent;color:#e5e7eb;font-size:13px;display:flex;align-items:center;gap:6px;cursor:pointer}.floating-menu-item[data-v-ed34c433]:hover{background:#111827}.floating-menu-item.active[data-v-ed34c433]{background:#2563eb}.history-list[data-v-ed34c433]{max-height:260px;overflow-y:auto;padding-right:4px}.history-item[data-v-ed34c433]{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px dashed #374151;font-size:12px}.history-time[data-v-ed34c433]{color:#9ca3af}.history-restore-btn[data-v-ed34c433]{padding:3px 8px;border-radius:999px;border:1px solid #4b5563;background:#111827;color:#e5e7eb;font-size:12px;cursor:pointer}.history-restore-btn[data-v-ed34c433]:hover{background:#1f2937}.history-empty[data-v-ed34c433]{margin:0;font-size:13px;color:#9ca3af}.canvas-wrapper[data-v-ed34c433]{flex:1;padding:10px;box-sizing:border-box}.canvas[data-v-ed34c433]{width:100%;height:100%;background:#f5f5f7;border-radius:6px;box-shadow:0 0 0 1px #00000040}.canvas.cursor-pan[data-v-ed34c433]{cursor:grab}.canvas.cursor-select[data-v-ed34c433]{cursor:default}.canvas.cursor-pen[data-v-ed34c433],.canvas.cursor-line[data-v-ed34c433],.canvas.cursor-eraser[data-v-ed34c433]{cursor:crosshair}.canvas.cursor-text[data-v-ed34c433]{cursor:text}.hidden-input[data-v-ed34c433]{display:none}.three-panel[data-v-ed34c433]{position:absolute;right:24px;bottom:24px;width:360px;height:260px;border-radius:8px;background:#111827;box-shadow:0 18px 45px #0000008c;display:flex;flex-direction:column;border:1px solid #4b5563;z-index:20}.three-panel-header[data-v-ed34c433]{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #374151;color:#e5e7eb;font-size:13px}.three-panel-close[data-v-ed34c433]{border:none;background:transparent;color:#9ca3af;cursor:pointer;font-size:14px}.three-panel-close[data-v-ed34c433]:hover{color:#f9fafb}.three-panel-body[data-v-ed34c433]{flex:1;padding:6px}
