.ProseMirror{font-family:var(--font-serif);font-size:var(--text-lg);line-height:1.85;color:var(--text-primary);max-width:var(--content-width);margin:0 auto;padding:var(--space-12) var(--space-6);min-height:400px;outline:none;letter-spacing:.005em}.ProseMirror h1{font-size:var(--text-3xl);font-weight:600;line-height:1.3;margin-top:var(--space-12);margin-bottom:var(--space-4);color:var(--text-primary);letter-spacing:-.02em}.ProseMirror h2{font-size:var(--text-2xl);font-weight:600;line-height:1.35;margin-top:var(--space-8);margin-bottom:var(--space-3);color:var(--text-primary);letter-spacing:-.015em}.ProseMirror h3{font-size:var(--text-xl);font-weight:600;line-height:1.4;margin-top:var(--space-6);margin-bottom:var(--space-2);color:var(--text-primary)}.ProseMirror p{margin-bottom:var(--space-4)}.ProseMirror>*:first-child{margin-top:0}.ProseMirror blockquote{border-left:2px solid var(--accent-warm-muted);padding-left:var(--space-6);margin:var(--space-6) 0;color:var(--text-secondary);font-style:italic}.ProseMirror img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-8) 0}.ProseMirror ul,.ProseMirror ol{margin:var(--space-4) 0;padding-left:var(--space-6)}.ProseMirror li{margin-bottom:var(--space-2)}.ProseMirror li p{margin-bottom:var(--space-1)}.ProseMirror code{font-family:var(--font-mono);background-color:#ffffff0d;padding:.15em .4em;border-radius:var(--radius-sm);font-size:.88em}.ProseMirror pre{background-color:#0003;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-6) 0;overflow-x:auto}.ProseMirror pre code{background:none;padding:0;font-size:var(--text-sm);line-height:1.6}.ProseMirror hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(196,154,108,.2) 20%,rgba(196,154,108,.3) 50%,rgba(196,154,108,.2) 80%,transparent);margin:var(--space-12) 0}.ProseMirror a{color:var(--accent-warm);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#c49a6c4d;cursor:pointer;transition:text-decoration-color var(--transition-fast)}.ProseMirror a:hover{text-decoration-color:var(--accent-warm)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0;font-style:italic;opacity:.6}.ProseMirror .is-empty:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0;font-style:italic;opacity:.6}.bubble-menu{display:flex;align-items:center;gap:1px;background:var(--bg-elevated);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:4px;box-shadow:var(--shadow-float);animation:bubbleIn .15s ease-out}.bubble-menu button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast)}.bubble-menu button:hover{background:#ffffff0f;color:var(--text-primary)}.bubble-menu button.is-active{background:var(--accent-warm-glow);color:var(--accent-warm)}.bubble-menu .separator{width:1px;height:18px;background:#ffffff14;margin:0 3px}:root{--bg-primary: #1a1a1f;--bg-secondary: #222228;--bg-tertiary: #2a2a32;--bg-elevated: #32323c;--bg-writing: #1d1d22;--text-primary: #e8e4df;--text-secondary: #a8a4a0;--text-tertiary: #6e6a66;--accent-warm: #c49a6c;--accent-warm-hover: #d4aa7c;--accent-warm-muted: #8a6a4a;--accent-warm-glow: rgba(196, 154, 108, .08);--accent-success: #6b9e78;--accent-danger: #c46c6c;--font-serif: "Lora", "Georgia", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--content-width: 720px;--sidebar-width: 260px;--sidebar-collapsed-width: 0px;--header-height: 52px;--border-subtle: 1px solid rgba(255, 255, 255, .06);--border-light: 1px solid rgba(255, 255, 255, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(196, 154, 108, .06);--shadow-float: 0 8px 32px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .4);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-smooth: .35s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent-warm);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-warm-hover)}::selection{background-color:var(--accent-warm-muted);color:var(--text-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none;color:var(--text-primary)}input,textarea,select{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-tertiary);border:var(--border-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--accent-warm-muted)}textarea{resize:vertical}img{max-width:100%;height:auto}.article-content h1{font-size:var(--text-3xl);font-weight:600;line-height:1.3;margin-top:var(--space-12);margin-bottom:var(--space-4);letter-spacing:-.02em}.article-content h2{font-size:var(--text-2xl);font-weight:600;line-height:1.35;margin-top:var(--space-8);margin-bottom:var(--space-3);letter-spacing:-.015em}.article-content h3{font-size:var(--text-xl);font-weight:600;line-height:1.4;margin-top:var(--space-6);margin-bottom:var(--space-2)}.article-content p{margin-bottom:var(--space-4)}.article-content>*:first-child{margin-top:0}.article-content blockquote{border-left:2px solid var(--accent-warm-muted);padding-left:var(--space-6);margin:var(--space-8) 0;color:var(--text-secondary);font-style:italic}.article-content ul,.article-content ol{margin:var(--space-4) 0;padding-left:var(--space-6)}.article-content li{margin-bottom:var(--space-2)}.article-content img{border-radius:var(--radius-md);margin:var(--space-8) 0}.article-content code{font-family:var(--font-mono);background-color:#ffffff0d;padding:.15em .4em;border-radius:var(--radius-sm);font-size:.88em}.article-content pre{background-color:#0003;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-8) 0;overflow-x:auto}.article-content pre code{background:none;padding:0;font-size:var(--text-sm)}.article-content a{color:var(--accent-warm);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#c49a6c4d;transition:text-decoration-color var(--transition-fast)}.article-content a:hover{text-decoration-color:var(--accent-warm)}.article-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(196,154,108,.2) 20%,rgba(196,154,108,.3) 50%,rgba(196,154,108,.2) 80%,transparent);margin:var(--space-12) 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes gentlePulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes subtleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.workspace-sidebar{transition:width var(--transition-smooth),min-width var(--transition-smooth),opacity var(--transition-smooth),padding var(--transition-smooth)}.workspace-sidebar.collapsed{width:0!important;min-width:0!important;opacity:0;padding:0!important;overflow:hidden}.workspace-editor{transition:all var(--transition-smooth)}@media(max-width:768px){:root{--sidebar-width: 220px;--space-8: 1rem}}@media(max-width:480px){:root{--sidebar-width: 200px}}.admin-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);border-bottom:var(--border-subtle);background:var(--bg-secondary);position:sticky;top:0;z-index:100}.admin-header-left{display:flex;align-items:center;gap:var(--space-8)}.admin-header-right{display:flex;align-items:center;gap:var(--space-4)}.admin-logo{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.admin-logo:hover{color:var(--text-primary)}.admin-nav{display:flex;gap:var(--space-6)}.admin-nav-link{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:400;text-transform:uppercase;letter-spacing:.06em;transition:color var(--transition-fast)}.admin-nav-link:hover{color:var(--text-secondary)}.admin-nav-link.active{color:var(--accent-warm);font-weight:500}.admin-signout-btn{font-size:var(--text-xs);color:var(--text-tertiary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.06em;transition:all var(--transition-fast)}.admin-signout-btn:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.dashboard-page{max-width:860px;margin:0 auto;padding:var(--space-8) var(--space-6)}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8)}.dashboard-greeting{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:600;letter-spacing:-.025em;color:var(--text-primary);margin-bottom:var(--space-1)}.dashboard-subtitle{color:var(--text-tertiary);font-size:var(--text-sm)}.dashboard-new-btn{padding:var(--space-3) var(--space-6);background:var(--accent-warm);color:var(--bg-primary);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:opacity var(--transition-fast);flex-shrink:0}.dashboard-new-btn:hover{opacity:.9}.dashboard-stats{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-8)}.dashboard-stat{display:flex;align-items:baseline;gap:var(--space-2)}.dashboard-stat-value{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.dashboard-stat-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.dashboard-stat-divider{width:1px;height:20px;background:#ffffff0f}.dashboard-section{margin-bottom:var(--space-8)}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.dashboard-section-title{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.dashboard-view-all{font-size:var(--text-xs);color:var(--text-tertiary);transition:color var(--transition-fast)}.dashboard-view-all:hover{color:var(--accent-warm)}.dashboard-recent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.dashboard-project-card{display:flex;flex-direction:column;padding:var(--space-4) 1.25rem;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-primary);text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.dashboard-project-card:hover{border-color:#ffffff1f;background:var(--bg-tertiary);color:var(--text-primary)}.dashboard-project-card-top{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.dashboard-project-status{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:capitalize}.dashboard-project-title{font-family:var(--font-serif);font-size:var(--text-base);font-weight:600;line-height:1.3;margin-bottom:var(--space-1)}.dashboard-project-desc{font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-2)}.dashboard-project-time{font-size:var(--text-xs);color:var(--text-tertiary);opacity:.7;margin-top:auto}.dashboard-articles-list{display:flex;flex-direction:column}.dashboard-article-row{display:flex;align-items:center;gap:var(--space-3);border-bottom:var(--border-subtle)}.dashboard-article-row:last-child{border-bottom:none}.dashboard-article-link{display:flex;justify-content:space-between;align-items:center;flex:1;padding:var(--space-3) 0;color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.dashboard-article-link:hover{color:var(--accent-warm)}.dashboard-article-title{font-size:var(--text-sm)}.dashboard-article-date{font-size:var(--text-xs);color:var(--text-tertiary);flex-shrink:0}.dashboard-article-edit{font-size:var(--text-xs);color:var(--text-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.dashboard-article-edit:hover{color:var(--accent-warm);background:#ffffff0a}.dashboard-empty{text-align:center;padding:var(--space-16) var(--space-8)}.dashboard-empty-text{color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-4)}.dashboard-empty-btn{padding:var(--space-3) var(--space-6);background:var(--accent-warm);color:var(--bg-primary);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500}.projects-page{max-width:860px;margin:0 auto;padding:var(--space-8) var(--space-6)}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.projects-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em}.projects-new-btn{padding:var(--space-3) var(--space-6);background:var(--accent-warm);color:var(--bg-primary);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:opacity var(--transition-fast)}.projects-new-btn:hover{opacity:.9}.projects-filters{display:flex;gap:var(--space-1);margin-bottom:var(--space-6);flex-wrap:wrap}.projects-filter-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:capitalize;letter-spacing:.03em;color:var(--text-tertiary);transition:all var(--transition-fast);border:1px solid transparent}.projects-filter-btn:hover{color:var(--text-secondary);background:#ffffff08}.projects-filter-btn.active{background:var(--accent-warm);color:var(--bg-primary);font-weight:500}.projects-list{display:flex;flex-direction:column;gap:var(--space-3)}.projects-empty{text-align:center;padding:var(--space-16);color:var(--text-tertiary);font-size:var(--text-sm)}.project-card{background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);position:relative}.project-card:hover{border-color:#ffffff1a}.project-card-main{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-4) 1.25rem;color:var(--text-primary);text-decoration:none;transition:background var(--transition-fast);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.project-card-main:hover{background:#ffffff05;color:var(--text-primary)}.project-card-left{flex:1;min-width:0}.project-card-status-line{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.project-card-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.project-card-status-text{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:capitalize}.project-card-hidden-tag{font-size:.65rem;color:var(--accent-danger);background:#c46c6c1a;padding:1px 6px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.project-card-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;line-height:1.3}.project-card-desc{color:var(--text-tertiary);font-size:var(--text-sm);line-height:1.4;margin-top:var(--space-1);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.project-card-time{font-size:var(--text-xs);color:var(--text-tertiary);opacity:.7;flex-shrink:0;white-space:nowrap;padding-top:2px}.project-card-actions{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 1.25rem var(--space-3);border-top:1px solid rgba(255,255,255,.03)}.project-action-btn{display:inline-flex;align-items:center;height:28px;padding:0 var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;line-height:1}.project-action-btn:hover{color:var(--text-secondary);background:#ffffff0d}.project-action-btn.accent{color:var(--accent-warm)}.project-action-btn.accent:hover{background:#c49a6c1a;color:var(--accent-warm-hover)}.project-action-btn.danger{margin-left:auto}.project-action-btn.danger:hover{color:var(--accent-danger);background:#c46c6c14}.project-status-dropdown{position:relative}.project-status-menu{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--bg-elevated);border:var(--border-light);border-radius:var(--radius-md);padding:var(--space-1);min-width:150px;box-shadow:var(--shadow-float);z-index:200;animation:statusMenuIn .12s ease-out}@keyframes statusMenuIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.project-status-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);text-transform:capitalize;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.project-status-option:hover{background:#ffffff0f;color:var(--text-primary)}.project-status-option.active{color:var(--accent-warm);background:#c49a6c14}.project-status-option-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.modal-content{background:var(--bg-secondary);border:var(--border-light);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:scaleIn .15s ease-out}.modal-title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-6)}.modal-label{display:block;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.modal-btn-secondary{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-tertiary);transition:all var(--transition-fast)}.modal-btn-secondary:hover{color:var(--text-primary);background:var(--bg-elevated)}.modal-btn-primary{padding:var(--space-3) var(--space-6);background:var(--accent-warm);color:var(--bg-primary);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:opacity var(--transition-fast)}.modal-btn-primary:hover{opacity:.9}.workspace-topbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--text-sm);transition:all var(--transition-fast);flex-shrink:0}.workspace-topbar-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.workspace-topbar-breadcrumb{font-size:var(--text-xs);color:var(--text-tertiary);text-decoration:none;transition:color var(--transition-fast);flex-shrink:0}.workspace-topbar-breadcrumb:hover{color:var(--accent-warm)}@media(max-width:768px){.dashboard-recent-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;gap:var(--space-4)}.dashboard-stats,.project-card-actions{flex-wrap:wrap}}
