:root{--bg-app: #1a1a1a;--bg-sidebar: #1e1e1e;--bg-panel: #2b2b2b;--bg-editor: #232323;--bg-input: #3c3c3c;--bg-hover: #333333;--bg-selected: #2a3a4a;--bg-card: #262626;--bg-card-hover: #2e2e2e;--bg-scrollbar-thumb: #555555;--text-primary: #d4d4d4;--text-secondary: #949494;--text-muted: #6e6e6e;--text-active: #ffffff;--text-inverse: #1a1a1a;--border-main: #444444;--border-subtle: #3a3a3a;--border-input: #555555;--border-divider: #333333;--accent-active: #5294e2;--accent-hover: #6aa4ea;--accent-selected: #4a6fa5;--accent-danger: #cc4444;--accent-danger-hover: #e05555;--accent-warning: #f0a030;--accent-success: #4caf50;--hover-overlay: rgba(255, 255, 255, .06);--active-overlay: rgba(255, 255, 255, .08);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .5);--shadow-dialog: 0 12px 40px rgba(0, 0, 0, .6);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--overlay-bg: rgba(0, 0, 0, .6);--note-color-red: #ff6b6b;--note-color-orange: #ffa94d;--note-color-yellow: #ffd43b;--note-color-green: #69db7c;--note-color-blue: #5294e2;--note-color-purple: #b197fc;--note-color-pink: #f783ac;--note-color-gray: #868e96;--sp-2: 2px;--sp-4: 4px;--sp-6: 6px;--sp-8: 8px;--sp-10: 10px;--sp-12: 12px;--sp-16: 16px;--sp-20: 20px;--sp-24: 24px;--sidebar-w: 220px;--notelist-w: 340px;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-base: 12px;--font-size-md: 13px;--font-size-lg: 14px;--font-size-xl: 16px;--font-size-2xl: 20px;--font-size-3xl: 28px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition: .12s ease;--transition-slow: .25s ease;--callout-info-bg: rgba(82, 148, 226, .12);--callout-info-border: var(--accent-active);--callout-warning-bg: rgba(240, 160, 48, .12);--callout-warning-border: var(--accent-warning);--callout-danger-bg: rgba(204, 68, 68, .12);--callout-danger-border: var(--accent-danger);--callout-success-bg: rgba(76, 175, 80, .12);--callout-success-border: var(--accent-success)}[data-theme=light]{--bg-app: #e8e8e8;--bg-sidebar: #f0f0f0;--bg-panel: #f5f5f5;--bg-editor: #ffffff;--bg-input: #ffffff;--bg-hover: #e8e8e8;--bg-selected: #d4e4f4;--bg-card: #ffffff;--bg-card-hover: #f0f0f0;--bg-scrollbar-thumb: #bbbbbb;--text-primary: #2c2c2c;--text-secondary: #666666;--text-muted: #999999;--text-active: #111111;--text-inverse: #ffffff;--border-main: #d0d0d0;--border-subtle: #e0e0e0;--border-input: #c0c0c0;--border-divider: #e0e0e0;--accent-active: #3b7dd8;--accent-hover: #5a90e0;--accent-selected: #4a6fa5;--accent-danger: #e04040;--accent-danger-hover: #f05050;--hover-overlay: rgba(0, 0, 0, .04);--active-overlay: rgba(0, 0, 0, .06);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .15);--shadow-dialog: 0 12px 40px rgba(0, 0, 0, .2);--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--overlay-bg: rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-lg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--bg-scrollbar-thumb);border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.app{width:100vw;height:100vh;display:grid;grid-template-columns:var(--sidebar-w) var(--notelist-w) 1fr;overflow:hidden;transition:grid-template-columns .4s cubic-bezier(.34,1.56,.64,1)}.app.sidebar-collapsed{grid-template-columns:44px var(--notelist-w) 1fr}.app.notelist-collapsed{grid-template-columns:var(--sidebar-w) 44px 1fr}.app.sidebar-collapsed.notelist-collapsed{grid-template-columns:44px 44px 1fr}.sidebar-column,.notelist-column{position:relative;overflow:visible}.sidebar-column:hover .collapse-toggle,.notelist-column:hover .collapse-toggle{opacity:1}.collapse-toggle{position:absolute;z-index:60;display:flex;align-items:center;justify-content:center;width:20px;height:32px;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition),color var(--transition),opacity var(--transition);opacity:0;padding:0}.collapse-toggle:hover{background:var(--hover-overlay);color:var(--text-primary);opacity:1}.sidebar-collapse-btn,.notelist-collapse-btn{right:-10px;top:50%;transform:translateY(-50%)}.collapsed-strip{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--sp-12) 0;gap:var(--sp-6);background:var(--bg-sidebar);border-right:1px solid var(--border-divider);height:100vh;width:44px;overflow:visible}.collapsed-strip:hover .collapsed-expand-btn{opacity:1}.collapsed-sidebar-strip{justify-content:space-between}.collapsed-sidebar-top{display:flex;flex-direction:column;align-items:center;gap:var(--sp-6)}.collapsed-sidebar-brand{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--accent-warning);margin-bottom:var(--sp-6)}.collapsed-sidebar-footer{position:relative;margin-bottom:var(--sp-12)}.collapsed-user-trigger{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color var(--transition),background var(--transition),color var(--transition)}.collapsed-user-trigger:hover,.collapsed-user-trigger.is-open{border-color:var(--border-subtle);background:var(--hover-overlay);color:var(--text-primary)}.collapsed-user-trigger img{width:100%;height:100%;object-fit:cover}.collapsed-user-dropdown{left:calc(100% + var(--sp-8));right:auto;bottom:0;margin-bottom:0;min-width:180px}.collapsed-strip-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition),color var(--transition);padding:0}.collapsed-strip-btn:hover{background:var(--hover-overlay);color:var(--text-primary)}.collapsed-strip-divider{width:20px;height:1px;background:var(--border-divider)}.collapsed-expand-btn{right:-10px;top:50%;transform:translateY(-50%)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:var(--sp-24)}.empty-state svg{width:48px;height:48px;margin-bottom:var(--sp-16);opacity:.4}.empty-state-title{font-size:var(--font-size-xl);font-weight:500;margin-bottom:var(--sp-8);color:var(--text-secondary)}.empty-state-desc{font-size:var(--font-size-md);max-width:280px;line-height:1.5}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-divider);display:flex;flex-direction:column;overflow:hidden;height:100vh;-webkit-user-select:none;user-select:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-16) var(--sp-16) var(--sp-12)}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-8)}.sidebar-brand-icon{width:22px;height:22px;color:var(--accent-warning)}.sidebar-brand-text{font-size:var(--font-size-xl);font-weight:600;color:var(--text-active);letter-spacing:-.01em}.sidebar-new-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:var(--accent-active);color:#fff;border:none;cursor:pointer;transition:background var(--transition)}.sidebar-new-btn:hover{background:var(--accent-hover)}.sidebar-new-btn svg{width:16px;height:16px}.sidebar-content{flex:1;overflow-y:auto;padding:0 var(--sp-8)}.sidebar-section{margin-bottom:var(--sp-16)}.sidebar-section-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--sp-4) var(--sp-8);margin-bottom:var(--sp-2)}.sidebar-item{display:flex;align-items:center;gap:var(--sp-8);padding:var(--sp-6) var(--sp-8);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);font-size:var(--font-size-md);transition:background var(--transition);position:relative}.sidebar-item:hover{background:var(--hover-overlay)}.sidebar-item.active{background:var(--accent-active);color:#fff}.sidebar-item.active svg{color:#fff}.sidebar-item.active .sidebar-item-count{color:#ffffffb3}.sidebar-item svg{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.sidebar-item-count{margin-left:auto;font-size:var(--font-size-xs);color:var(--text-muted);min-width:18px;text-align:center}.sidebar-folder-item{padding-left:calc(var(--sp-8) + 12px)}.sidebar-tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sidebar-add-btn{display:flex;align-items:center;gap:var(--sp-6);padding:var(--sp-4) var(--sp-8);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);font-size:var(--font-size-sm);transition:color var(--transition);border:none;background:none;width:100%}.sidebar-add-btn:hover{color:var(--text-primary)}.sidebar-add-btn svg{width:14px;height:14px}.sidebar-footer{position:relative;padding:var(--sp-12);border-top:1px solid var(--border-divider);margin-top:auto}.user-menu-trigger{width:100%;border:1px solid transparent;background:transparent;border-radius:var(--radius-md);padding:var(--sp-8);color:var(--text-primary);display:flex;align-items:center;gap:var(--sp-10);font-family:var(--font-ui);cursor:pointer;text-align:left;transition:background var(--transition),border-color var(--transition)}.user-menu-trigger:hover,.user-menu-trigger.is-open{background:var(--hover-overlay);border-color:var(--border-subtle)}.user-menu-trigger>svg:last-child{margin-left:auto;color:var(--text-muted)}.user-menu-avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-input);background:var(--bg-input);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);overflow:hidden}.user-menu-avatar img{width:100%;height:100%;object-fit:cover}.user-menu-meta{min-width:0;display:flex;flex-direction:column;gap:1px}.user-menu-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;left:var(--sp-12);right:var(--sp-12);bottom:calc(100% - 2px);margin-bottom:var(--sp-8);padding:var(--sp-10);border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border-main);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:var(--sp-4);z-index:40}.user-menu-item{border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--sp-8);font-size:var(--font-size-sm);font-family:var(--font-ui);padding:var(--sp-10) var(--sp-10);cursor:pointer;transition:background var(--transition),color var(--transition)}.user-menu-item:hover{background:var(--hover-overlay);color:var(--text-primary)}.user-menu-item.danger:hover{color:var(--accent-danger);background:#ef44441f}.user-menu-divider{margin:var(--sp-6) 0;border-top:1px solid var(--border-subtle)}.note-list-panel{background:var(--bg-panel);border-right:1px solid var(--border-divider);display:flex;flex-direction:column;overflow:hidden;height:100vh}.note-list-header{padding:var(--sp-16) var(--sp-16) var(--sp-12)}.note-list-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-active);margin-bottom:var(--sp-12)}.search-bar{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);padding:0 var(--sp-10);height:32px;gap:var(--sp-8);transition:border-color var(--transition)}.search-bar:focus-within{border-color:var(--accent-active)}.search-bar svg{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.search-bar input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-ui);width:100%}.search-bar input::placeholder{color:var(--text-muted)}.search-bar .search-clear{display:flex;align-items:center;cursor:pointer;color:var(--text-muted);transition:color var(--transition);border:none;background:none;padding:0}.search-bar .search-clear:hover{color:var(--text-primary)}.search-bar .search-clear svg{width:14px;height:14px}.note-list-items{flex:1;overflow-y:auto;padding:0 var(--sp-8)}.note-card{display:flex;align-items:flex-start;gap:var(--sp-10);padding:var(--sp-12) var(--sp-10);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);border-bottom:1px solid var(--border-divider);position:relative}.note-card:last-child{border-bottom:none}.note-card:hover{background:var(--bg-card-hover)}.note-card.active{background:var(--bg-selected)}.note-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.note-card-content{flex:1;min-width:0;overflow:hidden}.note-card-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-active);margin-bottom:var(--sp-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-card-date{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--sp-4)}.note-card-preview{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-card-tags{display:flex;gap:var(--sp-4);margin-top:var(--sp-6);flex-wrap:wrap}.editor-panel{background:var(--bg-editor);display:flex;flex-direction:column;overflow:hidden;height:100vh}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-8) var(--sp-16);border-bottom:1px solid var(--border-divider);background:var(--bg-panel);min-height:44px;gap:var(--sp-8);flex-wrap:wrap}.editor-toolbar-left{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.editor-toolbar-right{display:flex;align-items:center;gap:var(--sp-8)}.editor-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),color var(--transition);border:none;background:none;color:var(--text-secondary)}.editor-toolbar-btn:hover{background:var(--hover-overlay);color:var(--text-primary)}.editor-toolbar-btn.is-active{background:var(--active-overlay);color:var(--accent-active)}.editor-toolbar-btn svg{width:16px;height:16px}.editor-toolbar-divider{width:1px;height:18px;background:var(--border-input);margin:0 var(--sp-4);flex-shrink:0}.editor-content{flex:1;overflow-y:auto;padding:var(--sp-24) 48px;max-width:800px}.editor-title-input{display:block;width:100%;background:transparent;border:none;outline:none;font-size:var(--font-size-3xl);font-weight:700;color:var(--text-active);font-family:var(--font-ui);margin-bottom:var(--sp-8);padding:0;line-height:1.3}.editor-title-input::placeholder{color:var(--text-muted)}.editor-meta{display:flex;align-items:center;gap:var(--sp-12);margin-bottom:var(--sp-20);font-size:var(--font-size-sm);color:var(--text-secondary)}.editor-tags-row{display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap}.editor-body{flex:1;display:flex;overflow:hidden;position:relative}.editor-main{flex:1;overflow-y:auto;min-width:0}.editor-formatting-toolbar{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.tiptap-wrapper{font-size:var(--font-size-lg);line-height:1.7;color:var(--text-primary);padding-left:48px;position:relative}.tiptap-wrapper .tiptap{outline:none;min-height:300px}.tiptap-wrapper .tiptap p{margin-bottom:.75em}.tiptap-wrapper .tiptap h1{font-size:1.8em;font-weight:700;margin:1em 0 .4em;color:var(--text-active)}.tiptap-wrapper .tiptap h2{font-size:1.4em;font-weight:600;margin:.8em 0 .3em;color:var(--text-active)}.tiptap-wrapper .tiptap h3{font-size:1.15em;font-weight:600;margin:.6em 0 .3em;color:var(--text-active)}.tiptap-wrapper .tiptap ul,.tiptap-wrapper .tiptap ol{padding-left:1.5em;margin-bottom:.75em}.tiptap-wrapper .tiptap li{margin-bottom:.25em}.tiptap-wrapper .tiptap ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap-wrapper .tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:var(--sp-8)}.tiptap-wrapper .tiptap ul[data-type=taskList] li label{margin-top:2px}.tiptap-wrapper .tiptap ul[data-type=taskList] li input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-active);cursor:pointer}.tiptap-wrapper .tiptap blockquote{border-left:3px solid var(--accent-active);padding-left:1em;margin:.5em 0;color:var(--text-secondary);font-style:italic}.tiptap-wrapper .tiptap pre{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-12);margin:.75em 0;overflow-x:auto;font-family:var(--font-mono);font-size:.9em}.tiptap-wrapper .tiptap pre code{background:none;padding:0;border-radius:0}.tiptap-wrapper .tiptap code{background:var(--bg-input);padding:2px 4px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.tiptap-wrapper .tiptap hr{border:none;border-top:1px solid var(--border-divider);margin:1.5em 0}.tiptap-wrapper .tiptap mark{background:#ffd54f66;padding:2px 0;border-radius:2px}.tiptap-wrapper .tiptap img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:.5em 0}.tiptap-wrapper .tiptap a{color:var(--accent-active);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.tiptap-wrapper .tiptap a:hover{color:var(--accent-hover)}.tiptap-wrapper .tiptap .is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}.tiptap-wrapper .tiptap .code-block-lowlight{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-12);margin:.75em 0;overflow-x:auto;font-family:var(--font-mono);font-size:.9em;line-height:1.6}.tiptap-wrapper .tiptap .hljs-keyword,.tiptap-wrapper .tiptap .hljs-selector-tag{color:#c678dd}.tiptap-wrapper .tiptap .hljs-string,.tiptap-wrapper .tiptap .hljs-addition{color:#98c379}.tiptap-wrapper .tiptap .hljs-number,.tiptap-wrapper .tiptap .hljs-literal{color:#d19a66}.tiptap-wrapper .tiptap .hljs-comment,.tiptap-wrapper .tiptap .hljs-quote{color:#5c6370;font-style:italic}.tiptap-wrapper .tiptap .hljs-title,.tiptap-wrapper .tiptap .hljs-section{color:#e5c07b}.tiptap-wrapper .tiptap .hljs-built_in{color:#e06c75}.tiptap-wrapper .tiptap .hljs-attr,.tiptap-wrapper .tiptap .hljs-attribute{color:#d19a66}.tiptap-wrapper .tiptap .hljs-type,.tiptap-wrapper .tiptap .hljs-class{color:#e5c07b}.tiptap-wrapper .tiptap .hljs-function{color:#61afef}.tiptap-wrapper .tiptap .hljs-variable,.tiptap-wrapper .tiptap .hljs-deletion{color:#e06c75}.tiptap-wrapper .tiptap .hljs-meta{color:#56b6c2}.code-block-wrapper{position:relative}.code-block-wrapper:hover .code-copy-btn{opacity:1}.code-copy-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition),background var(--transition),color var(--transition);z-index:5;padding:0}.code-copy-btn:hover{background:var(--hover-overlay);color:var(--text-primary);opacity:1}.code-copy-btn.is-copied{color:#22c55e;border-color:#22c55e;opacity:1}.drag-handle{display:flex;align-items:center;gap:var(--sp-2);opacity:0;transition:opacity var(--transition)}.drag-handle:hover,.tiptap-wrapper:hover .drag-handle{opacity:1}.drag-handle-plus,.drag-handle-grip{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition);padding:0}.drag-handle-plus:hover,.drag-handle-grip:hover{background:var(--hover-overlay);color:var(--text-primary)}.drag-handle-grip{cursor:grab}.drag-handle-grip:active{cursor:grabbing}.tiptap-wrapper .tiptap table.notion-table{border-collapse:collapse;width:100%;margin:.75em 0;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border-main)}.tiptap-wrapper .tiptap table.notion-table td,.tiptap-wrapper .tiptap table.notion-table th{border:1px solid var(--border-subtle);padding:var(--sp-8) var(--sp-12);min-width:80px;vertical-align:top;position:relative;font-size:var(--font-size-md)}.tiptap-wrapper .tiptap table.notion-table td>*,.tiptap-wrapper .tiptap table.notion-table th>*{margin-bottom:0}.tiptap-wrapper .tiptap table.notion-table th{background:var(--hover-overlay);font-weight:600;color:var(--text-active)}.tiptap-wrapper .tiptap table.notion-table .selectedCell{background:var(--bg-selected)}.tiptap-wrapper .tiptap .tableWrapper{overflow-x:auto;margin:.75em 0}.tiptap-wrapper .tiptap .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--accent-active);cursor:col-resize;z-index:20}.tag-badge{display:inline-flex;align-items:center;gap:var(--sp-4);padding:2px var(--sp-8);border-radius:20px;font-size:var(--font-size-xs);font-weight:500;color:var(--text-primary);background:var(--hover-overlay);border:1px solid var(--border-subtle);white-space:nowrap;cursor:default}.tag-badge-dot{width:6px;height:6px;border-radius:50%}.tag-badge-remove{display:flex;align-items:center;cursor:pointer;color:var(--text-muted);margin-left:var(--sp-2);border:none;background:none;padding:0}.tag-badge-remove:hover{color:var(--accent-danger)}.tag-badge-remove svg{width:10px;height:10px}.color-picker-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;border:none;background:none;transition:background var(--transition)}.color-picker-trigger:hover{background:var(--hover-overlay)}.color-picker-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border-input)}.color-picker-popover{position:absolute;top:100%;left:0;background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);padding:var(--sp-8);z-index:100;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}.color-picker-swatch{width:24px;height:24px;border-radius:50%;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);border:2px solid transparent}.color-picker-swatch:hover{transform:scale(1.15)}.color-picker-swatch.active{border-color:var(--text-active);box-shadow:0 0 0 2px var(--bg-panel),0 0 0 4px var(--text-active)}.color-picker-clear{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px dashed var(--border-input);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:border-color var(--transition)}.color-picker-clear:hover{border-color:var(--text-primary)}.color-picker-clear svg{width:12px;height:12px}.toc-minimap-container{position:absolute;right:8px;top:60px;bottom:20px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;max-height:calc(100vh - 120px);overflow:hidden}.toc-minimap{display:flex;flex-direction:column;gap:6px;padding:8px 0;max-height:100%;overflow-y:auto;scrollbar-width:none}.toc-minimap::-webkit-scrollbar{display:none}.toc-minimap-line{display:block;height:2px;border:none;border-radius:1px;background:var(--text-muted);opacity:.35;cursor:pointer;transition:opacity var(--transition),background var(--transition),width var(--transition);padding:0;flex-shrink:0}.toc-minimap-line:hover{opacity:.7}.toc-minimap-line.is-active{background:var(--accent-active);opacity:1;height:3px}.toc-minimap-line.is-past:not(.is-active){opacity:.55}.toc-minimap-level-1{width:28px}.toc-minimap-level-2{width:20px}.toc-minimap-level-3{width:14px}.toc-expanded{background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);padding:var(--sp-12) var(--sp-16);min-width:200px;max-width:280px;max-height:100%;overflow-y:auto}.toc-expanded-title{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sp-8)}.toc-expanded-list{display:flex;flex-direction:column;gap:var(--sp-2)}.toc-expanded-item{display:block;width:100%;text-align:left;padding:var(--sp-4) var(--sp-6);border:none;background:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-ui);color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.toc-expanded-item:hover{background:var(--hover-overlay);color:var(--text-primary)}.toc-expanded-item.is-active{color:var(--accent-active);font-weight:600;background:var(--active-overlay)}.toc-expanded-item.is-past:not(.is-active){color:var(--text-muted)}.toc-expanded-level-1{padding-left:var(--sp-6)}.toc-expanded-level-2{padding-left:calc(var(--sp-6) + 12px)}.toc-expanded-level-3{padding-left:calc(var(--sp-6) + 24px)}.bubble-menu,.slash-menu,.table-menu{background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown)}.bubble-menu{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6)}.bubble-menu-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition);padding:0}.bubble-menu-btn:hover{background:var(--hover-overlay);color:var(--text-primary)}.bubble-menu-btn.is-active{background:var(--active-overlay);color:var(--accent-active)}.bubble-menu-divider{width:1px;height:16px;background:var(--border-input);margin:0 var(--sp-2)}.bubble-menu-link-input{display:flex;align-items:center;gap:var(--sp-4)}.bubble-menu-link-input input{width:180px;padding:var(--sp-4) var(--sp-8);border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-ui);outline:none}.bubble-menu-link-input input:focus{border-color:var(--accent-active)}.bubble-menu-link-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--accent-active);color:#fff;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-md)}.slash-menu{padding:var(--sp-6);max-height:320px;overflow-y:auto;min-width:260px}.slash-menu-group{margin-bottom:var(--sp-4)}.slash-menu-group:last-child{margin-bottom:0}.slash-menu-group-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:var(--sp-4) var(--sp-8)}.slash-menu-item{display:flex;align-items:center;gap:var(--sp-10);width:100%;padding:var(--sp-6) var(--sp-8);border:none;background:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-ui);text-align:left;transition:background var(--transition)}.slash-menu-item:hover,.slash-menu-item.is-selected{background:var(--bg-selected)}.slash-menu-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--hover-overlay);color:var(--text-secondary);flex-shrink:0}.slash-menu-item-name{font-size:var(--font-size-md);font-weight:500;color:var(--text-primary)}.slash-menu-item-desc{font-size:var(--font-size-xs);color:var(--text-muted)}.table-menu{padding:var(--sp-4) var(--sp-6);margin-top:var(--sp-8);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:var(--sp-2)}.table-menu-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);width:26px;height:26px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition);padding:0;position:relative}.table-menu-btn:hover{background:var(--hover-overlay);color:var(--text-primary)}.table-menu-btn-danger:hover{color:var(--accent-danger)}.table-menu-sub-icon{position:absolute;bottom:2px;right:2px}.table-menu-divider{width:1px;height:16px;background:var(--border-input);margin:0 var(--sp-2)}.callout-block{display:flex;gap:var(--sp-10);padding:var(--sp-12) var(--sp-16);border-radius:var(--radius-md);margin:.5em 0}.callout-emoji-wrapper{position:relative;flex-shrink:0}.callout-emoji-btn{font-size:20px;line-height:1;background:none;border:none;cursor:pointer;padding:var(--sp-2);border-radius:var(--radius-sm);transition:background var(--transition)}.callout-emoji-btn:hover{background:var(--hover-overlay)}.callout-emoji-picker{position:absolute;top:100%;left:0;background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);padding:var(--sp-6);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);z-index:50}.callout-emoji-option{font-size:18px;background:none;border:none;cursor:pointer;padding:var(--sp-4);border-radius:var(--radius-sm);transition:background var(--transition)}.callout-emoji-option:hover{background:var(--hover-overlay)}.callout-content{flex:1;min-width:0}.callout-content p{margin-bottom:.2em!important}.toggle-block{margin:.5em 0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.toggle-block-trigger{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;margin:var(--sp-8) 0 0 var(--sp-8);padding:0;transition:color var(--transition)}.toggle-block-trigger:hover{color:var(--text-primary)}.toggle-block-arrow{transition:transform var(--transition-slow)}.toggle-block.is-open .toggle-block-arrow{transform:rotate(90deg)}.toggle-block-content{padding:var(--sp-4) var(--sp-12) var(--sp-12)}.toggle-block:not(.is-open) .toggle-block-content>*:not(:first-child){display:none}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.dialog-content{background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-dialog);padding:var(--sp-24);min-width:360px;max-width:480px;animation:slideUp .2s ease}.dialog-content-wide{width:min(880px,100vw - 32px);max-width:min(880px,100vw - 32px)}.dialog-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-active);margin-bottom:var(--sp-8)}.dialog-message{font-size:var(--font-size-md);color:var(--text-secondary);margin-bottom:var(--sp-20);line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--sp-8);margin-top:var(--sp-20);padding-top:var(--sp-8)}.dialog-btn{padding:var(--sp-8) var(--sp-16);border-radius:var(--radius-md);font-size:var(--font-size-md);font-family:var(--font-ui);font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition);border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary)}.dialog-btn:hover{background:var(--hover-overlay)}.dialog-btn-danger{background:var(--accent-danger);color:#fff;border-color:var(--accent-danger)}.dialog-btn-danger:hover{background:var(--accent-danger-hover)}.dialog-btn-primary{background:var(--accent-active);color:#fff;border-color:var(--accent-active)}.dialog-btn-primary:hover{background:var(--accent-hover)}.share-dialog{width:min(560px,100vw - 24px);max-width:min(560px,100vw - 24px)}.share-dialog-loading,.share-dialog-empty{font-size:var(--font-size-sm);color:var(--text-muted);padding:var(--sp-10) 0}.share-dialog-body{display:flex;flex-direction:column;gap:var(--sp-12)}.share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-8);align-items:center}.share-link-row a{min-width:0;display:inline-flex;align-items:center;gap:var(--sp-6);color:var(--accent-active);text-decoration:none;font-size:var(--font-size-sm);padding:var(--sp-8) var(--sp-10);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-input)}.share-link-row a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-field,.share-field-checkbox{display:flex;flex-direction:column;gap:var(--sp-6)}.share-field>span,.share-field-checkbox>span{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.share-field input,.share-field select,.share-field-checkbox input,.share-field-checkbox select{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-sm);padding:var(--sp-10) var(--sp-12);outline:none}.share-field input:focus,.share-field select:focus,.share-field-checkbox input:focus,.share-field-checkbox select:focus{border-color:var(--accent-active)}.share-field-checkbox{flex-direction:row;align-items:center;gap:var(--sp-8)}.share-field-checkbox input{width:16px;height:16px;margin:0}.share-field-checkbox>span{text-transform:none;letter-spacing:0;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500}.public-share-page{min-height:100vh;background:var(--bg-editor);display:flex;justify-content:center;padding:var(--sp-32) var(--sp-12)}.public-share-card{width:min(860px,100%);background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-dialog);padding:var(--sp-24)}.public-share-note{background:var(--bg-editor)}.public-share-state{font-size:var(--font-size-md);color:var(--text-secondary)}.public-share-state.is-error{color:var(--accent-danger)}.public-share-heading{display:inline-flex;align-items:center;gap:var(--sp-6);color:var(--text-primary);margin-bottom:var(--sp-16);font-weight:600}.public-share-form{display:flex;flex-direction:column;gap:var(--sp-12);max-width:340px}.public-share-form label{display:flex;flex-direction:column;gap:var(--sp-6)}.public-share-form label span{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.public-share-form input{border-radius:var(--radius-md);border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-sm);padding:var(--sp-10) var(--sp-12);outline:none}.public-share-form input:focus{border-color:var(--accent-active)}.public-share-header{margin-bottom:var(--sp-20)}.public-share-header h1{margin:var(--sp-10) 0 var(--sp-4);color:var(--text-active);font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2}.public-share-header p{margin:0;color:var(--text-muted);font-size:var(--font-size-sm)}.public-share-label{display:inline-flex;align-items:center;gap:var(--sp-6);color:var(--accent-active);font-weight:600;font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase}.public-share-tags{margin-top:var(--sp-12);display:flex;align-items:center;gap:var(--sp-6);flex-wrap:wrap}.public-share-content{color:var(--text-primary);font-size:var(--font-size-lg);line-height:1.7}.public-share-content h1,.public-share-content h2,.public-share-content h3{color:var(--text-active)}.public-share-content h1{font-size:1.8em;margin:1em 0 .4em}.public-share-content h2{font-size:1.4em;margin:.8em 0 .3em}.public-share-content h3{font-size:1.15em;margin:.6em 0 .3em}.public-share-content p,.public-share-content ul,.public-share-content ol,.public-share-content pre{margin-bottom:.75em}.public-share-content ul,.public-share-content ol{padding-left:1.5em}.public-share-content code{background:var(--bg-input);padding:2px 4px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.public-share-content pre{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-12);overflow-x:auto}.public-share-content blockquote{border-left:3px solid var(--accent-active);padding-left:1em;color:var(--text-secondary);font-style:italic}.public-share-content img{max-width:100%;height:auto;border-radius:var(--radius-md)}.user-settings{max-height:min(700px,100vh - 40px);display:flex;flex-direction:column}.user-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-16);margin-bottom:var(--sp-20)}.user-settings-subtitle{margin:var(--sp-6) 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.user-settings-body{min-height:0;flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--sp-16)}.user-settings-tabs{display:flex;flex-direction:column;gap:var(--sp-6);border-right:1px solid var(--border-subtle);padding-right:var(--sp-16)}.user-settings-tab{border:none;background:transparent;border-radius:var(--radius-md);padding:var(--sp-8) var(--sp-10);color:var(--text-secondary);display:flex;align-items:center;gap:var(--sp-8);font-size:var(--font-size-sm);font-family:var(--font-ui);cursor:pointer;transition:background var(--transition),color var(--transition)}.user-settings-tab:hover{background:var(--hover-overlay);color:var(--text-primary)}.user-settings-tab.active{background:var(--active-overlay);color:var(--accent-active);font-weight:600}.user-settings-panel{overflow-y:auto;padding-right:var(--sp-6);padding-bottom:var(--sp-14)}.user-settings-form{display:flex;flex-direction:column;gap:var(--sp-24)}.user-settings-field{display:flex;flex-direction:column;gap:var(--sp-8)}.user-settings-field>span{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.user-settings-avatar-row{display:flex;align-items:center;gap:var(--sp-14);margin-bottom:var(--sp-18)}.user-settings-form .dialog-btn-primary{min-width:188px}.user-avatar-large{width:56px;height:56px;border-radius:50%;border:1px solid var(--border-input);background:var(--bg-input);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-weight:700}.user-avatar-large img{width:100%;height:100%;object-fit:cover}.user-avatar-upload{position:relative;display:inline-flex;align-items:center;gap:var(--sp-6);margin-left:var(--sp-8)}.user-avatar-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.user-avatar-filename{font-size:var(--font-size-xs);color:var(--text-muted)}.user-statistics{display:flex;flex-direction:column;gap:var(--sp-18)}.user-statistics-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-10)}.user-statistics-header h3{margin:0;color:var(--text-primary);font-size:var(--font-size-lg)}.user-statistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-10)}.user-stat-card{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-12);display:flex;flex-direction:column;gap:var(--sp-4)}.user-stat-card span{color:var(--text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.user-stat-card strong{color:var(--text-primary);font-size:var(--font-size-xl);letter-spacing:-.01em}@media(max-width:860px){.dialog-content-wide{width:min(680px,100vw - 24px);max-width:min(680px,100vw - 24px);padding:var(--sp-16)}.user-settings-body{grid-template-columns:1fr}.user-settings-tabs{flex-direction:row;border-right:none;border-bottom:1px solid var(--border-subtle);padding-right:0;padding-bottom:var(--sp-12);overflow-x:auto}.user-settings-tab{white-space:nowrap}}.toast-container{position:fixed;bottom:var(--sp-20);right:var(--sp-20);display:flex;flex-direction:column;gap:var(--sp-8);z-index:2000}.toast{display:flex;align-items:center;gap:var(--sp-10);padding:var(--sp-10) var(--sp-16);border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border-main);box-shadow:var(--shadow-dropdown);font-size:var(--font-size-md);color:var(--text-primary);animation:slideInRight .25s ease;min-width:240px}.toast-success svg{color:var(--accent-success)}.toast-error svg{color:var(--accent-danger)}.toast-info svg{color:var(--accent-active)}.toast svg{width:16px;height:16px;flex-shrink:0}.toast-dismiss{margin-left:auto;display:flex;cursor:pointer;color:var(--text-muted);border:none;background:none;padding:0}.toast-dismiss:hover{color:var(--text-primary)}.toast-dismiss svg{width:14px;height:14px}.inline-edit-input{background:var(--bg-input);border:1px solid var(--accent-active);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-ui);padding:var(--sp-4) var(--sp-6);outline:none;width:100%}.tippy-box[data-theme~=bubble-menu],.tippy-box[data-theme~=slash-menu]{background:transparent;border:none;box-shadow:none;padding:0}.tippy-box[data-theme~=bubble-menu] .tippy-content,.tippy-box[data-theme~=slash-menu] .tippy-content{padding:0}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-24);background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent-active) 12%,transparent) 0%,transparent 42%),var(--bg-app)}.auth-stack{width:min(100%,420px);display:grid;gap:var(--sp-12)}.auth-card{width:100%;background:var(--bg-panel);border:1px solid var(--border-main);border-radius:var(--radius-xl);box-shadow:var(--shadow-dialog);padding:calc(var(--sp-24) + var(--sp-8));animation:slideUp .22s ease}.auth-logo{display:grid;place-items:center;gap:var(--sp-8)}.auth-logo h1{font-size:var(--font-size-2xl);letter-spacing:-.01em}.auth-brand{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);color:var(--text-active)}.auth-brand-icon{width:20px;height:20px;color:var(--accent-warning)}.auth-brand-title{font-size:var(--font-size-xl);font-weight:600;line-height:1;letter-spacing:-.01em}.auth-header{margin-bottom:var(--sp-20)}.auth-heading{font-size:var(--font-size-xl);line-height:1.2}.auth-subheading{margin-top:var(--sp-4);color:var(--text-secondary);font-size:var(--font-size-md)}.auth-form{display:grid;gap:var(--sp-12)}.auth-field{display:grid;gap:var(--sp-6)}.auth-input{width:100%;border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-md);padding:var(--sp-10) var(--sp-12);transition:border-color var(--transition),box-shadow var(--transition)}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus{border-color:var(--accent-active);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-active) 28%,transparent);outline:none}.auth-hint{color:var(--text-muted);font-size:var(--font-size-xs)}.auth-error{border:1px solid color-mix(in srgb,var(--accent-danger) 55%,transparent);border-radius:var(--radius-md);padding:var(--sp-8) var(--sp-10);color:var(--accent-danger);font-size:var(--font-size-sm);background:color-mix(in srgb,var(--accent-danger) 10%,transparent)}.auth-button{width:100%;border-radius:var(--radius-md);border:1px solid transparent;padding:var(--sp-10) var(--sp-12);font-family:var(--font-ui);font-size:var(--font-size-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),opacity var(--transition)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-button-primary{margin-top:var(--sp-4);background:var(--accent-active);color:#fff}.auth-button-primary:hover:not(:disabled){background:var(--accent-hover)}.auth-button-oauth{background:var(--bg-card);border-color:var(--border-subtle);color:var(--text-primary)}.auth-button-oauth:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-main)}.auth-button-loading{display:inline-flex;align-items:center;gap:var(--sp-8)}.auth-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-divider{margin:var(--sp-16) 0 var(--sp-12);display:flex;align-items:center;gap:var(--sp-8)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--border-divider)}.auth-divider span{color:var(--text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.auth-oauth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-8)}.spotlight-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1900;display:flex;align-items:flex-start;justify-content:center;padding:max(18vh,80px) var(--sp-16) var(--sp-16);background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--accent-active) 14%,transparent) 0%,transparent 42%),color-mix(in srgb,var(--overlay-bg) 92%,#05070c 8%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .14s ease}.spotlight-panel{width:min(760px,100%);border-radius:14px;border:1px solid color-mix(in srgb,var(--accent-active) 22%,var(--border-main));background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 92%,var(--bg-app) 8%) 0%,var(--bg-panel) 100%);box-shadow:0 24px 64px #0000007a,inset 0 1px color-mix(in srgb,#ffffff 5%,transparent);overflow:hidden;animation:slideUp .17s cubic-bezier(.22,1,.36,1)}.spotlight-input-row{display:flex;align-items:center;gap:var(--sp-10);height:56px;padding:0 var(--sp-16);border-bottom:1px solid var(--border-divider)}.spotlight-input-row svg{color:var(--text-muted);flex-shrink:0}.spotlight-input-row input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-active);font-size:var(--font-size-lg);font-family:var(--font-ui);letter-spacing:-.01em}.spotlight-input-row input::placeholder{color:var(--text-muted)}.spotlight-input-row kbd{border:1px solid var(--border-input);border-radius:var(--radius-sm);color:var(--text-muted);background:var(--bg-input);padding:2px var(--sp-6);font-family:var(--font-mono);font-size:10px;white-space:nowrap}.spotlight-results{max-height:min(58vh,460px);overflow-y:auto;padding:var(--sp-8)}.spotlight-item{width:100%;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-10) var(--sp-12);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.spotlight-item:hover,.spotlight-item.active{background:color-mix(in srgb,var(--active-overlay) 80%,var(--accent-active) 20%);border-color:color-mix(in srgb,var(--accent-active) 40%,transparent)}.spotlight-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-12)}.spotlight-item-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-active)}.spotlight-item-date{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.spotlight-item-preview{font-size:var(--font-size-md);color:var(--text-secondary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.spotlight-state{padding:var(--sp-24);text-align:center;color:var(--text-muted);font-size:var(--font-size-md)}.spotlight-footer{border-top:1px solid var(--border-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);padding:var(--sp-8) var(--sp-14);color:var(--text-muted);font-size:var(--font-size-xs)}.spotlight-footer span{display:inline-flex;align-items:center;gap:var(--sp-4)}@media(max-width:700px){.spotlight-overlay{padding-top:var(--sp-16)}.spotlight-item-head{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.spotlight-footer{flex-direction:column;align-items:flex-start}}.auth-provider-icon{width:16px;height:16px;flex-shrink:0}.auth-switch{margin-top:var(--sp-16);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.auth-link{border:0;background:transparent;color:var(--accent-active);font-size:var(--font-size-sm);font-family:var(--font-ui);cursor:pointer}.auth-link:hover{color:var(--accent-hover)}@media(max-width:560px){.auth-screen{padding:var(--sp-16)}.auth-card{padding:var(--sp-20)}.auth-oauth-grid{grid-template-columns:1fr}}
