:root{--bg: #1a1a2e;--bg-sidebar: #16213e;--bg-card: #0f3460;--accent: #e94560;--accent-hover: #ff6b81;--text: #eaeaea;--text-muted: #8892b0;--border: #2a2a4a;--radius: 8px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.loading-screen{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.2rem;color:var(--text-muted)}.login-page{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg,var(--bg) 0%,var(--bg-sidebar) 100%)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d}.login-card h1{font-size:2rem;margin-bottom:.25rem;text-align:center}.login-card .logo{display:block;width:120px;height:auto;margin:0 auto .5rem;border-radius:12px}.login-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:1.5rem}.login-card label{display:block;margin-bottom:1rem;font-size:.85rem;color:var(--text-muted)}.login-card input{display:block;width:100%;margin-top:.3rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:1rem}.login-card input:focus{outline:none;border-color:var(--accent)}.login-card button{width:100%;padding:.8rem;margin-top:.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.login-card button:hover:not(:disabled){background:var(--accent-hover)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card .error-msg{background:#e9456026;border:1px solid var(--accent);color:var(--accent-hover);padding:.6rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.login-card .switch{text-align:center;margin-top:1.2rem;font-size:.85rem;color:var(--text-muted)}.login-card .switch a{color:var(--accent);text-decoration:none;font-weight:500}.login-card .switch a:hover{text-decoration:underline}.app-layout{display:flex;height:100%}.sidebar{width:280px;min-width:280px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}.sidebar-header h2{font-size:1.1rem;font-weight:600}.btn-new-note{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-new-note:hover{background:var(--accent-hover)}.search-input{margin:.5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.85rem}.search-input:focus{outline:none;border-color:var(--accent)}.notebooks{padding:.5rem;border-bottom:1px solid var(--border)}.nb-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5rem .75rem;background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;border-radius:var(--radius);text-align:left;transition:background .15s}.nb-item:hover{background:#ffffff0d}.nb-item.active{background:#e9456026;color:var(--accent-hover)}.nb-item .count{font-size:.75rem;background:var(--border);padding:.1rem .4rem;border-radius:10px}.notes-list{flex:1;overflow-y:auto;padding:.25rem}.note-item{display:block;width:100%;padding:.6rem .75rem;background:none;border:none;color:var(--text);cursor:pointer;border-radius:var(--radius);text-align:left;transition:background .15s}.note-item:hover{background:#ffffff0d}.note-item.active{background:#e945601a}.note-title{font-size:.85rem;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-date{font-size:.7rem;color:var(--text-muted)}.empty-msg{color:var(--text-muted);font-size:.85rem;padding:1rem;text-align:center}.main-content{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-muted)}.welcome h2{font-size:1.5rem;color:var(--text)}.welcome-logo{width:100px;height:auto;border-radius:12px;margin-bottom:.5rem}.btn-primary{padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:background .2s}.btn-primary:hover{background:var(--accent-hover)}.btn-logout{position:absolute;top:.75rem;right:.75rem;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:.3rem .5rem;border-radius:var(--radius);transition:background .2s;z-index:10}.btn-logout:hover{background:#ffffff0d;color:var(--accent-hover)}.btn-menu,.sidebar-overlay{display:none}.editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.editor-toolbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-sidebar)}.title-input{flex:1;padding:.5rem;border:1px solid transparent;background:transparent;color:var(--text);font-size:1.1rem;font-weight:600;border-radius:var(--radius)}.title-input:focus{outline:none;border-color:var(--border);background:var(--bg)}.title-input::placeholder{color:var(--text-muted)}.notebook-select{padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.8rem;cursor:pointer}.save-indicator{font-size:.85rem;min-width:24px;text-align:center}.editor-menu{display:flex;align-items:center;gap:.25rem;padding:.4rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-sidebar);flex-wrap:wrap}.editor-menu button{padding:.3rem .6rem;background:none;border:1px solid transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;border-radius:var(--radius);font-weight:500;transition:all .15s}.editor-menu button:hover{background:#ffffff0d;color:var(--text)}.editor-menu button.active{background:#e9456033;color:var(--accent-hover);border-color:var(--accent)}.editor-menu .sep{width:1px;height:20px;background:var(--border);margin:0 .25rem}.editor-content{flex:1;overflow-y:auto;padding:1.5rem 2rem}.editor-content .ProseMirror{outline:none;min-height:100%;max-width:800px;margin:0 auto;line-height:1.7;font-size:1rem}.editor-content .ProseMirror p{margin-bottom:.5rem}.editor-content .ProseMirror h1{font-size:1.8rem;margin:1.5rem 0 .5rem;font-weight:700}.editor-content .ProseMirror h2{font-size:1.4rem;margin:1.2rem 0 .4rem;font-weight:600}.editor-content .ProseMirror h3{font-size:1.1rem;margin:1rem 0 .3rem;font-weight:600}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{padding-left:1.5rem;margin-bottom:.5rem}.editor-content .ProseMirror li{margin-bottom:.2rem}.editor-content .ProseMirror blockquote{border-left:3px solid var(--accent);padding-left:1rem;margin:.75rem 0;color:var(--text-muted);font-style:italic}.editor-content .ProseMirror code{background:var(--bg);padding:.15rem .4rem;border-radius:4px;font-size:.9em;font-family:Fira Code,monospace}.editor-content .ProseMirror pre{background:var(--bg);padding:1rem;border-radius:var(--radius);overflow-x:auto;margin:.75rem 0}.editor-content .ProseMirror pre code{background:none;padding:0}.editor-content .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.editor-content .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem}.editor-content .ProseMirror ul[data-type=taskList] li label{margin-top:.25rem}.editor-content .ProseMirror ul[data-type=taskList] li[data-checked=true]>div>p{text-decoration:line-through;color:var(--text-muted)}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);float:left;pointer-events:none;height:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:100;width:280px;transform:translate(-100%);transition:transform .25s ease;box-shadow:2px 0 16px #0006}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.sidebar-overlay.visible{display:block}.main-content{width:100%}.btn-menu{position:fixed;top:.5rem;left:.5rem;z-index:50;width:40px;height:40px;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-toolbar{padding:.5rem .5rem .5rem 3rem;gap:.4rem;flex-wrap:wrap}.title-input{font-size:1rem;min-width:120px}.notebook-select{font-size:.75rem;padding:.5rem .3rem}.editor-menu{padding:.3rem .5rem;gap:.15rem}.editor-menu button{padding:.5rem;font-size:.85rem;min-width:36px;min-height:36px}.editor-menu .sep{margin:0 .15rem;height:16px}.editor-content{padding:1rem .75rem}.editor-content .ProseMirror{font-size:1rem;line-height:1.6}.login-card{max-width:100%;margin:0 1rem;padding:1.5rem;border-radius:12px}.welcome h2{font-size:1.2rem}input,select,textarea,button{font-size:16px!important}.btn-logout{top:.5rem;right:.5rem;padding:.5rem;font-size:1rem}}
