@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";
:root{--bg-primary:#faf9f6;--bg-sidebar:#f3f2ef;--bg-hover:#ebeae6;--bg-active:#e5e4e0;--bg-code:#f0efeb;--text-primary:#474646;--text-secondary:#6b6a69;--text-muted:#9a9998;--text-placeholder:#b8b7b6;--border-light:#e8e7e4;--border-medium:#d8d7d4;--accent:#8b7355;--accent-hover:#7a6449;--font-heading:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"IBM Plex Sans",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Consolas","Courier New",monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--sidebar-width:280px;--header-height:56px;--editor-max-width:720px;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--shadow-sm:0 1px 2px #4746460d;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;font-size:1rem;line-height:1.7}.app-container{min-height:100vh;display:flex}.main-wrapper{min-width:0;transition:margin-left var(--transition-normal);flex-direction:column;flex:1;display:flex}.main-wrapper.sidebar-open{margin-left:var(--sidebar-width)}.header{z-index:100;height:var(--header-height);padding:0 var(--space-lg);background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left,.header-right{align-items:center;gap:var(--space-md);display:flex}.icon-btn{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.icon-btn:active{background-color:var(--bg-active)}.share-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);border:1px solid var(--border-medium);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;font-size:.875rem;font-weight:500;display:inline-flex}.share-btn:hover{background-color:var(--bg-hover);border-color:var(--text-muted)}.share-btn:active{background-color:var(--bg-active)}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid var(--border-light);height:100vh;transition:transform var(--transition-normal);z-index:200;flex-direction:column;display:flex;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.doc-item-wrapper{width:100%;display:block;position:relative}.sidebar-header{padding:var(--space-md)var(--space-lg);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.sidebar-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.sidebar-content{padding:var(--space-md);flex:1;overflow-y:auto}.sidebar-footer{padding:var(--space-md);border-top:1px solid var(--border-light)}.doc-list{list-style:none}.doc-item{width:100%;padding:var(--space-sm)var(--space-md);color:var(--text-secondary);font-family:var(--font-body);text-align:left;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;margin-bottom:2px;font-size:.9375rem;display:block;overflow:hidden}.doc-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.doc-item.active{background-color:var(--bg-active);color:var(--text-primary);font-weight:500}.new-doc-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm)var(--space-md);border:1px dashed var(--border-medium);color:var(--text-muted);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:6px;font-size:.875rem;display:flex}.new-doc-btn:hover{border-color:var(--accent);color:var(--accent);background-color:#8b73550d}.editor-container{padding:var(--space-xl)var(--space-lg);flex:1;justify-content:center;display:flex;overflow-y:auto}.editor-wrapper{width:100%;max-width:var(--editor-max-width)}.tiptap{min-height:calc(100vh - var(--header-height) - var(--space-3xl));outline:none}.tiptap:focus{outline:none}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none;float:left;height:0;font-style:italic}.tiptap h1,.tiptap h2,.tiptap h3{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.tiptap h1:first-child,.tiptap h2:first-child,.tiptap h3:first-child{margin-top:0}.tiptap h1{font-size:2.25rem;font-weight:700}.tiptap h2{font-size:1.625rem}.tiptap h3{font-size:1.25rem}.tiptap p{margin-bottom:1em}.tiptap p:last-child{margin-bottom:0}.tiptap strong{font-weight:600}.tiptap em{font-style:italic}.tiptap s{color:var(--text-muted);text-decoration:line-through}.tiptap a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.tiptap a:hover{color:var(--accent-hover)}.tiptap ul,.tiptap ol{margin-bottom:1em;padding-left:1.5em}.tiptap li,.tiptap li p{margin-bottom:.25em}.tiptap ul{list-style-type:disc}.tiptap ol{list-style-type:decimal}.tiptap ul ul,.tiptap ol ol,.tiptap ul ol,.tiptap ol ul{margin-top:.25em;margin-bottom:.25em}.tiptap blockquote{border-left:3px solid var(--accent);padding-left:var(--space-lg);color:var(--text-secondary);margin:1.5em 0;font-style:italic}.tiptap blockquote p{margin-bottom:.5em}.tiptap blockquote p:last-child{margin-bottom:0}.tiptap code{font-family:var(--font-mono);background-color:var(--bg-code);color:var(--accent-hover);border-radius:4px;padding:.15em .4em;font-size:.875em}.tiptap .github-code-block{color:#1f2328;background-color:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;margin:1.5em 0;padding:16px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:13.6px;line-height:1.45;overflow-x:auto}.tiptap .github-code-block code{font-family:inherit;font-size:inherit;color:inherit;white-space:pre;background-color:#0000;border:0;padding:0}.tiptap .github-code-block .hljs-keyword,.tiptap .github-code-block .hljs-selector-tag,.tiptap .github-code-block .hljs-built_in,.tiptap .github-code-block .hljs-operator{color:#cf222e}.tiptap .github-code-block .hljs-literal{color:#0550ae}.tiptap .github-code-block .hljs-string,.tiptap .github-code-block .hljs-template-literal,.tiptap .github-code-block .hljs-regexp{color:#0a3069}.tiptap .github-code-block .hljs-title,.tiptap .github-code-block .hljs-title.function_,.tiptap .github-code-block .hljs-attr{color:#8250df}.tiptap .github-code-block .hljs-title.class_,.tiptap .github-code-block .hljs-type{color:#953800}.tiptap .github-code-block .hljs-variable,.tiptap .github-code-block .hljs-template-variable,.tiptap .github-code-block .hljs-params,.tiptap .github-code-block .hljs-property,.tiptap .github-code-block .hljs-params{color:#1f2328}.tiptap .github-code-block .hljs-comment,.tiptap .github-code-block .hljs-quote{color:#6e7781;font-style:normal}.tiptap .github-code-block .hljs-number,.tiptap .github-code-block .hljs-symbol{color:#0550ae}.tiptap .github-code-block .hljs-tag,.tiptap .github-code-block .hljs-name{color:#116329}.tiptap .github-code-block .hljs-attr{color:#7c3aed}.tiptap .github-code-block .language-xml .hljs-attr,.tiptap .github-code-block .language-html .hljs-attr{color:#116329}.tiptap .github-code-block .hljs-punctuation{color:#1f2328}.tiptap .github-code-block .hljs-section{color:#0550ae;font-weight:700}@media (prefers-color-scheme:dark){.tiptap .github-code-block{color:#e6edf3;background-color:#0f0f0f;border-color:#30363d}.tiptap .github-code-block .hljs-keyword,.tiptap .github-code-block .hljs-selector-tag,.tiptap .github-code-block .hljs-built_in,.tiptap .github-code-block .hljs-operator{color:#ff7b72}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0f172a}::-webkit-scrollbar-thumb{background-color:#334155;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:#475569}.tiptap .github-code-block .hljs-literal{color:#79c0ff}.tiptap .github-code-block .hljs-string,.tiptap .github-code-block .hljs-template-literal,.tiptap .github-code-block .hljs-regexp{color:#a5d6ff}.tiptap .github-code-block .hljs-title,.tiptap .github-code-block .hljs-title.function_,.tiptap .github-code-block .hljs-attr{color:#d2a8ff}.tiptap .github-code-block .hljs-title.class_,.tiptap .github-code-block .hljs-type{color:#ffa657}.tiptap .github-code-block .hljs-variable,.tiptap .github-code-block .hljs-template-variable,.tiptap .github-code-block .hljs-params,.tiptap .github-code-block .hljs-property{color:#e6edf3}.tiptap .github-code-block .hljs-comment,.tiptap .github-code-block .hljs-quote{color:#8b949e}.tiptap .github-code-block .hljs-number,.tiptap .github-code-block .hljs-symbol{color:#79c0ff}.tiptap .github-code-block .hljs-tag,.tiptap .github-code-block .hljs-name,.tiptap .github-code-block .language-xml .hljs-attr,.tiptap .github-code-block .language-html .hljs-attr{color:#7ee787}.tiptap .github-code-block .hljs-punctuation{color:#e6edf3}.tiptap .github-code-block .hljs-section{color:#79c0ff}}.dark .tiptap .github-code-block{color:#e6edf3;background-color:#0f0f0f;border-color:#30363d}.dark .tiptap .github-code-block .hljs-keyword,.dark .tiptap .github-code-block .hljs-operator{color:#ff7b72}.dark .tiptap .github-code-block .hljs-string{color:#a5d6ff}.dark .tiptap .github-code-block .hljs-title.function_{color:#d2a8ff}.dark .tiptap .github-code-block .hljs-comment{color:#8b949e}.dark .tiptap .github-code-block .hljs-number{color:#79c0ff}.dark .tiptap .github-code-block .hljs-class{color:#ffa657}.tiptap hr{border:none;border-top:1px solid var(--border-medium);margin:2em 0}.tiptap ::selection{background-color:#8b735533}.tiptap .github-code-block ::selection{background-color:#b3d7ff}@media (prefers-color-scheme:dark){.tiptap .github-code-block ::selection{background-color:#264f78}}.dark .tiptap .github-code-block ::selection{background-color:#264f78}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.tooltip{bottom:var(--space-lg);padding:var(--space-sm)var(--space-md);background-color:var(--text-primary);color:var(--bg-primary);opacity:0;pointer-events:none;transition:all var(--transition-normal);z-index:1000;border-radius:6px;font-size:.875rem;position:fixed;left:50%;transform:translate(-50%)translateY(20px)}.tooltip.visible{opacity:1;transform:translate(-50%)translateY(0)}.doc-actions{gap:var(--space-sm);margin-top:var(--space-md);display:flex}.action-btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;flex:1;font-size:.8125rem;display:flex}.action-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);border-color:var(--border-medium)}.hidden-input{display:none}.context-menu{background:var(--bg-primary);border:1px solid var(--border-light);min-width:180px;box-shadow:var(--shadow-lg);border-radius:6px;padding:4px;animation:.1s ease-out fadeIn}.context-menu-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;font-size:.875rem;font-family:var(--font-body);background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;display:flex}.context-menu-item:hover{background-color:var(--bg-hover)}.context-menu-item.delete{color:#cf222e}.context-menu-item.delete:hover{background-color:#fff1f0}.context-menu-divider{background-color:var(--border-light);height:1px;margin:4px 0}.sidebar-input{width:100%;font-size:.9375rem;font-family:var(--font-body);border:1px solid var(--accent);background:var(--bg-primary);color:var(--text-primary);border-radius:4px;outline:none;padding:4px 8px}.doc-item-wrapper:hover .item-menu-trigger{opacity:1!important}.item-menu-trigger:hover{border-radius:4px;background-color:var(--bg-hover)!important;color:var(--text-primary)!important}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-color-scheme:dark){.context-menu{background:#1f1f1f;border-color:#30363d}.context-menu-item.delete:hover{color:#ff7b72;background-color:#3c1618}.sidebar-input{color:#e6edf3;background:#0f0f0f;border-color:#a78bfa}}.dark .context-menu{background:#1f1f1f;border-color:#30363d}.dark .context-menu-item.delete:hover{color:#ff7b72;background-color:#3c1618}.dark .sidebar-input{color:#e6edf3;background:#0f0f0f;border-color:#a78bfa}.tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;overflow:hidden}.tiptap table td,.tiptap table th{box-sizing:border-box;vertical-align:top;border:1px solid #a0a0a0;min-width:1em;padding:6px 8px;position:relative}.tiptap table th{background-color:var(--bg-secondary);text-align:left;font-weight:700}.tiptap .selectedCell:after{content:"";pointer-events:none;z-index:2;background:#c8c8ff66;position:absolute;inset:0}.tiptap .column-resize-handle{background-color:var(--primary);pointer-events:none;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}.tableWrapper{margin:1.5rem 0;overflow-x:auto}.dark ::-webkit-scrollbar{width:8px}.dark ::-webkit-scrollbar-track{background:#1f1f1f}.dark ::-webkit-scrollbar-thumb{background-color:#334155;border-radius:6px}.dark ::-webkit-scrollbar-thumb:hover{background-color:#475569}.sidebar-nav{padding:var(--space-md)var(--space-md)0;gap:var(--space-xs);flex-direction:column;display:flex}.nav-back-btn{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;width:fit-content;padding:4px 0;font-size:.8rem;font-weight:500;display:flex}.nav-back-btn:hover{color:var(--text-primary);text-decoration:underline}.breadcrumbs{font-family:var(--font-body);color:var(--text-muted);padding-bottom:var(--space-xs);flex-wrap:wrap;align-items:center;gap:4px;min-height:24px;font-size:.85rem;display:flex}.breadcrumb-wrapper{align-items:center;gap:4px;display:flex}.breadcrumb-separator{color:var(--text-muted);opacity:.5;flex-shrink:0}.breadcrumb-item{cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;max-width:150px;color:var(--text-secondary);background-color:#0000;border-radius:4px;padding:2px 6px;overflow:hidden}.breadcrumb-item:hover{color:var(--text-primary);background-color:var(--bg-hover)}.breadcrumb-item.active{color:var(--text-primary);pointer-events:none;background-color:#0000;font-weight:600}@media print{.sidebar,.sidebar-overlay,.header,.icon-btn,.share-btn,.new-doc-btn,.doc-actions,.tooltip,.sidebar-nav,.print-hide,.nav-back-btn{display:none!important}.main-wrapper,.main-wrapper.sidebar-open{width:100%!important;margin-left:0!important}.editor-container{padding:0!important;overflow:visible!important}.tiptap{min-height:auto!important}}
