*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}ul,ol{list-style:none}#root{isolation:isolate;min-height:100vh}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #e9ecef;--color-bg-hover: #f1f3f5;--color-text-primary: #212529;--color-text-secondary: #6c757d;--color-text-tertiary: #adb5bd;--color-text-muted: #adb5bd;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-alpha: rgba(59, 130, 246, .1);--color-text-on-primary: #ffffff;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-accent-light: #dbeafe;--color-border: #dee2e6;--color-border-focus: #eff6ff;--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .1);--color-surface: #fafafa;--color-surface-alt: #f4f4f5;--color-btn-primary: #0a0a0a;--color-btn-secondary: #fafafa;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "Fira Code", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1100;--z-modal: 1200;--z-popover: 1300;--z-tooltip: 1400;--focus-ring: 0 0 0 1px var(--color-accent);--sidebar-width: 260px;--header-height: 56px}[data-theme=dark]{--color-bg-primary: #1a1a1a;--color-bg-secondary: #242424;--color-bg-tertiary: #2d2d2d;--color-bg-hover: #3d3d3d;--color-text-primary: #f8f9fa;--color-text-secondary: #adb5bd;--color-text-tertiary: #6c757d;--color-text-muted: #6c757d;--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-alpha: rgba(59, 130, 246, .15);--color-text-on-primary: #ffffff;--color-accent-light: #312e81;--color-border: #3d3d3d;--color-success-bg: rgba(16, 185, 129, .15);--color-warning-bg: rgba(245, 158, 11, .15);--color-error-bg: rgba(239, 68, 68, .15);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5);--color-surface: #404040}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);color:#fff;z-index:9999;transition:top var(--transition-fast);border-radius:var(--radius-sm)}.skip-link:focus{top:var(--spacing-sm);left:var(--spacing-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--color-border: #000000;--color-text-secondary: #000000}[data-theme=dark]{--color-border: #ffffff;--color-text-secondary: #ffffff}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInFromTop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-in-left{animation:slideInFromLeft var(--transition-base) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--spacing-xl);text-align:center}.error-fallback__icon{color:var(--color-error);margin-bottom:var(--spacing-md)}.error-fallback__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.error-fallback__message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg);max-width:400px}.error-fallback__button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#fff;background-color:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.error-fallback__button:hover{background-color:var(--color-accent-hover)}.error-fallback__button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-form{width:100%;max-width:400px;padding:var(--spacing-xl);background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.auth-form__header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-form__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.auth-form__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-form__fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-form__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.auth-form__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.auth-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-input::-moz-placeholder{color:var(--color-text-muted)}.auth-input::placeholder{color:var(--color-text-muted)}.auth-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--focus-ring)}.auth-input--error{border-color:var(--color-error)}.auth-input--error:focus{box-shadow:0 0 0 2px var(--color-error)}.auth-form__error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.auth-form__field-error{font-size:var(--font-size-xs);color:var(--color-error)}.auth-form__submit{width:100%;padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:#fff;background-color:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.auth-form__submit:hover:not(:disabled){background-color:var(--color-accent-hover)}.auth-form__submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed}.auth-form__submit--loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.auth-form__footer{margin-top:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-link{color:var(--color-accent);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-accent-hover);text-decoration:underline}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-md);background-color:var(--color-bg-secondary)}.auth-spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.auth-loading__text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-spinner--large{width:32px;height:32px;border-width:3px}.auth-page__stack{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);width:100%;max-width:400px}.version-picker{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.version-picker__option{flex:1;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.version-picker__option:hover{color:var(--color-text-primary)}.version-picker__option--active{background-color:var(--color-accent);color:#fff}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);max-width:380px;width:100%;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:15px 20px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-slide-down .2s ease-out}.toast__icon{flex-shrink:0;margin-top:2px}.toast__content{flex:1;min-width:0}.toast__title{margin:0 0 var(--space-1) 0;font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.toast__message{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4}.toast__dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,color .15s ease}.toast__dismiss:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.toast__dismiss:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toast--success{border-left:3px solid var(--color-success)}.toast--success .toast__icon{color:var(--color-success)}.toast--error{border-left:3px solid var(--color-error)}.toast--error .toast__icon{color:var(--color-error)}.toast--warning{border-left:3px solid var(--color-warning)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--info{border-left:3px solid var(--color-primary)}.toast--info .toast__icon{color:var(--color-primary)}.toast--exiting{animation:toast-slide-out .2s ease-in forwards}@media(max-width:480px){.toast-container{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);max-width:none}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes toast-slide-down{0%{opacity:0;transform:translateY(0)}to{opacity:1;transform:translateY(100%)}}.tiptap-editor{display:flex;flex-direction:column;height:100%}.editor-toolbar{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.editor-toolbar__group{display:flex;align-items:center;gap:2px}.editor-toolbar__divider{width:1px;height:24px;margin:0 var(--spacing-xs);background:var(--color-border)}.editor-toolbar__button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.editor-toolbar__button:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.editor-toolbar__button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.editor-toolbar__button--active{background:var(--color-accent-light);color:var(--color-accent)}.editor-toolbar__button--active:hover:not(:disabled){background:var(--color-accent-light);color:var(--color-accent-hover)}.editor-toolbar__button:disabled{opacity:.4;cursor:not-allowed}.editor-toolbar__button svg{width:18px;height:18px}.editor-toolbar__link-wrapper{position:relative}.editor-toolbar__link-popover{position:absolute;top:100%;left:0;z-index:10;display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.editor-toolbar__link-input{width:200px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast)}.editor-toolbar__link-input:focus{border-color:var(--color-accent)}.editor-toolbar__link-input::-moz-placeholder{color:var(--color-text-tertiary)}.editor-toolbar__link-input::placeholder{color:var(--color-text-tertiary)}.editor-toolbar__link-submit{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.editor-toolbar__link-submit:hover{background:var(--color-accent-hover)}.editor-toolbar__link-submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.editor-toolbar__dropdown-wrapper{position:relative}.editor-toolbar__dropdown{position:absolute;top:100%;left:0;z-index:10;min-width:180px;margin-top:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.editor-toolbar__dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.editor-toolbar__dropdown-item:hover:not(:disabled){background:var(--color-bg-hover)}.editor-toolbar__dropdown-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.editor-toolbar__dropdown-item:disabled{opacity:.4;cursor:not-allowed}.editor-toolbar__dropdown-item svg{width:16px;height:16px;flex-shrink:0;color:var(--color-text-secondary)}.editor-toolbar__dropdown-item--danger{color:var(--color-error)}.editor-toolbar__dropdown-item--danger svg{color:var(--color-error)}.editor-toolbar__dropdown-item--danger:hover:not(:disabled){background:var(--color-error-light, rgba(239, 68, 68, .1))}.editor-toolbar__dropdown-divider{height:1px;margin:var(--spacing-xs) 0;background:var(--color-border)}.tiptap-editor__content{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg)}.tiptap-editor__content .tiptap{height:100%;outline:none;font-size:var(--font-size-base);line-height:1.7;color:var(--color-text)}.tiptap-editor__content .tiptap:focus-visible{box-shadow:none}.tiptap-editor__content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none;color:var(--color-text-tertiary)}.tiptap-editor__content .tiptap p{margin:0 0 var(--spacing-sm)}.tiptap-editor__content .tiptap p:last-child{margin-bottom:0}.tiptap-editor__content .tiptap h1,.tiptap-editor__content .tiptap h2,.tiptap-editor__content .tiptap h3{margin:var(--spacing-lg) 0 var(--spacing-sm);font-weight:var(--font-weight-semibold);line-height:1.3;color:var(--color-text)}.tiptap-editor__content .tiptap h1:first-child,.tiptap-editor__content .tiptap h2:first-child,.tiptap-editor__content .tiptap h3:first-child{margin-top:0}.tiptap-editor__content .tiptap h1{font-size:var(--font-size-2xl)}.tiptap-editor__content .tiptap h2{font-size:var(--font-size-xl)}.tiptap-editor__content .tiptap h3{font-size:var(--font-size-lg)}.tiptap-editor__content .tiptap ul,.tiptap-editor__content .tiptap ol{margin:0 0 var(--spacing-sm);padding-left:var(--spacing-lg)}.tiptap-editor__content .tiptap li+li{margin-top:var(--spacing-md)}.tiptap-editor__content .tiptap li p{margin:0;line-height:1}.tiptap-editor__content .tiptap ul{list-style-type:disc}.tiptap-editor__content .tiptap ol{list-style-type:decimal}.tiptap-editor__content .tiptap ul ul,.tiptap-editor__content .tiptap ol ol,.tiptap-editor__content .tiptap ul ol,.tiptap-editor__content .tiptap ol ul{margin-bottom:0}.tiptap-editor__content .tiptap ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap-editor__content .tiptap ul[data-type=taskList] li{display:flex;align-items:center;gap:var(--spacing-sm)}.tiptap-editor__content .tiptap ul[data-type=taskList] li>label{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}.tiptap-editor__content .tiptap ul[data-type=taskList] li>label input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--color-accent)}.tiptap-editor__content .tiptap ul[data-type=taskList] li>div{flex:1}.tiptap-editor__content .tiptap ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--color-text-tertiary)}.tiptap-editor__content .tiptap ul[data-type=taskList] ul[data-type=taskList]{margin-top:var(--spacing-xs);margin-left:var(--spacing-lg)}.tiptap-editor__content .tiptap blockquote{margin:var(--spacing-sm) 0;padding:var(--spacing-sm) var(--spacing-md);border-left:3px solid var(--color-accent);background:var(--color-bg-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-secondary);font-style:italic}.tiptap-editor__content .tiptap blockquote p{margin:0}.tiptap-editor__content .tiptap pre{margin:var(--spacing-sm) 0;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.tiptap-editor__content .tiptap pre code{padding:0;background:transparent;border:none;border-radius:0;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text)}.tiptap-editor__content .tiptap code{padding:2px 6px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em;color:var(--color-accent)}.tiptap-editor__content .tiptap strong{font-weight:var(--font-weight-semibold)}.tiptap-editor__content .tiptap em{font-style:italic}.tiptap-editor__content .tiptap u{text-decoration:underline}.tiptap-editor__content .tiptap s{text-decoration:line-through}.tiptap-editor__content .tiptap sup{font-size:.75em;vertical-align:super}.tiptap-editor__content .tiptap sub{font-size:.75em;vertical-align:sub}.tiptap-editor__content .tiptap mark{background:var(--color-warning-light, #fef08a);padding:1px 2px;border-radius:2px}.tiptap-editor__content .tiptap a,.tiptap-editor__content .tiptap .tiptap-link{color:var(--color-accent);text-decoration:underline;cursor:pointer}.tiptap-editor__content .tiptap a:hover,.tiptap-editor__content .tiptap .tiptap-link:hover{color:var(--color-accent-hover)}.tiptap-editor__content .tiptap hr{margin:var(--spacing-md) 0;border:none;border-top:1px solid var(--color-border)}.tiptap-editor__content .tiptap [style*="text-align: center"]{text-align:center}.tiptap-editor__content .tiptap [style*="text-align: right"]{text-align:right}.tiptap-editor__content .tiptap [style*="text-align: justify"]{text-align:justify}.tiptap-editor__content .tiptap ::-moz-selection{background:var(--color-accent-light)}.tiptap-editor__content .tiptap ::selection{background:var(--color-accent-light)}.tiptap-editor__content .tiptap table,.tiptap-editor__content .tiptap .tiptap-table{width:100%;margin:var(--spacing-md) 0;border-collapse:collapse;table-layout:fixed;overflow:hidden}.tiptap-editor__content .tiptap table th,.tiptap-editor__content .tiptap table td{min-width:80px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);vertical-align:top;text-align:left;position:relative}.tiptap-editor__content .tiptap table th{background:var(--color-bg-secondary);font-weight:var(--font-weight-semibold)}.tiptap-editor__content .tiptap table td{background:var(--color-surface)}.tiptap-editor__content .tiptap table .selectedCell,.tiptap-editor__content .tiptap table th.selectedCell{background:var(--color-accent-light)}.tiptap-editor__content .tiptap table th p,.tiptap-editor__content .tiptap table td p{margin:0}.tiptap-editor__content .tiptap table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--color-accent);cursor:col-resize;z-index:10}.tiptap-editor__content .tiptap .tableWrapper{overflow-x:auto;margin:var(--spacing-md) 0}.tiptap-editor__content .tiptap table .grip-column,.tiptap-editor__content .tiptap table .grip-row{position:absolute;background:var(--color-bg-secondary);cursor:pointer}.tiptap-editor__content .tiptap table .grip-column{top:-12px;left:0;right:0;height:10px;border:1px solid var(--color-border);border-bottom:none}.tiptap-editor__content .tiptap table .grip-row{left:-12px;top:0;bottom:0;width:10px;border:1px solid var(--color-border);border-right:none}.tiptap-editor__content .tiptap table .grip-column:hover,.tiptap-editor__content .tiptap table .grip-row:hover{background:var(--color-accent-light)}.tiptap-editor__content .tiptap table .grip-column.selected,.tiptap-editor__content .tiptap table .grip-row.selected{background:var(--color-accent)}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-base),color var(--transition-base)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::-moz-selection{background-color:var(--color-accent-light);color:var(--color-text-primary)}::selection{background-color:var(--color-accent-light);color:var(--color-text-primary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-text-primary)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--focus-ring)}.input::-moz-placeholder{color:var(--color-text-muted)}.input::placeholder{color:var(--color-text-muted)}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.version-toggle{position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);z-index:var(--z-sticky);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-md);transition:color var(--transition-fast),border-color var(--transition-fast)}.version-toggle:hover{color:var(--color-accent);border-color:var(--color-accent)}
