:root{--bg: #0a0d15;--bg-2: #0e1220;--card: #12172552;--card-solid: #141a29;--line: #222a3d;--line-soft: #1a2131;--text: #e6e9f2;--muted: #8a93ad;--faint: #5c657f;--iris: #7c9cff;--teal: #4fe0c5;--iris-deep: #5a78e0;--danger: #ff6b6b;--sans: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius: 12px;--radius-sm: 8px}:root[data-theme=light]{--bg: #f3f5fb;--bg-2: #ffffff;--card: #ffffffcc;--card-solid: #ffffff;--line: #dde3f0;--line-soft: #e7ebf5;--text: #1a2032;--muted: #5c657f;--faint: #8a93ad;--iris: #4a63d1;--iris-deep: #3950b0;--teal: #128f78}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit;color:inherit}button{cursor:pointer;background:var(--card-solid);border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);padding:6px 10px;font-size:.85rem;transition:border-color .15s,color .15s}button:hover{border-color:var(--iris)}button.danger{color:var(--danger)}button.danger:hover{border-color:var(--danger)}input,textarea{background:var(--card-solid);border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);padding:8px 10px;font-size:.9rem}input:focus,textarea:focus,select:focus{outline:2px solid var(--iris);outline-offset:1px}.brand-dot{width:12px;height:12px;border-radius:50%;background:conic-gradient(from 200deg,var(--iris),var(--teal),var(--iris));box-shadow:0 0 12px -2px var(--iris);display:inline-block}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--muted)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(60% 60% at 20% 0%,rgba(124,156,255,.12),transparent 70%),var(--bg);padding:24px}.auth-card{width:100%;max-width:380px;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px}.auth-brand{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:700}.auth-card h1{font-family:var(--sans);font-size:1.3rem;margin:0}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.auth-card button[type=submit]{background:var(--iris);border-color:var(--iris);color:#05070c;font-weight:600;padding:10px}.auth-card button[type=submit]:hover{background:var(--iris-deep);border-color:var(--iris-deep);color:#fff}.auth-error{background:#ff6b6b1f;border:1px solid var(--danger);color:var(--danger);padding:8px 10px;border-radius:var(--radius-sm);font-size:.85rem}.auth-switch{font-size:.85rem;color:var(--muted);margin:0}.auth-switch a{color:var(--iris)}.notes-app{display:grid;grid-template-columns:220px 300px 1fr;height:100vh}.sidebar{background:var(--bg-2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:1.05rem;margin-bottom:18px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}.sidebar-link{background:transparent;border:none;text-align:left;color:var(--muted);padding:8px 10px;border-radius:var(--radius-sm)}.sidebar-link:hover{color:var(--text);background:var(--card)}.sidebar-link.active{color:var(--text);background:var(--card);border-left:2px solid var(--iris)}.sidebar-section{margin-bottom:18px}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;color:var(--faint);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.sidebar-section-head button{padding:0 6px;line-height:1.4}.folder-list,.tag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.folder-list li{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-sm);padding:4px 6px;font-size:.88rem}.folder-list li.active{background:var(--card);color:var(--iris)}.folder-list li:hover{background:var(--card)}.folder-name{flex:1;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-actions{display:none;gap:2px}.folder-list li:hover .folder-actions{display:flex}.folder-actions button{padding:0 5px;border:none;background:transparent;font-size:.75rem}.folder-list input{width:100%;padding:3px 6px;font-size:.85rem}.tag-list li{cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);font-size:.85rem;color:var(--muted);display:flex;justify-content:space-between}.tag-list li:hover{background:var(--card);color:var(--text)}.tag-list li.active{color:var(--teal);background:var(--card)}.tag-count{color:var(--faint);font-size:.75rem}.tag-list-empty{color:var(--faint);font-size:.8rem}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--line-soft)}.theme-toggle{width:100%}.sidebar-user{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--muted);gap:6px}.sidebar-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-backdrop{display:none}.note-list-pane{background:var(--bg);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.note-list-header{display:flex;gap:8px;padding:14px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--bg);z-index:2}.note-search{flex:1}.hamburger{display:none}.btn-new-note{background:var(--iris);border-color:var(--iris);color:#05070c;font-weight:600;white-space:nowrap}.btn-new-note:hover{background:var(--iris-deep);border-color:var(--iris-deep);color:#fff}.note-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px}.note-item{padding:10px 12px;border-radius:var(--radius);cursor:grab;border:1px solid transparent}.note-item:hover{background:var(--card)}.note-item.active{background:var(--card);border-color:var(--iris)}.note-item.pinned{border-left:2px solid var(--teal)}.note-item-title{font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-item-snippet{color:var(--muted);font-size:.8rem;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-item-tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.tag-chip{background:var(--card);border:1px solid var(--line-soft);color:var(--teal);font-size:.7rem;padding:1px 7px;border-radius:20px}.note-list-empty{color:var(--faint);text-align:center;padding:30px 10px;font-size:.85rem}.editor-pane{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.editor-empty{align-items:center;justify-content:center;color:var(--faint)}.editor-header{display:flex;align-items:center;gap:10px;padding:14px 20px 0;flex-wrap:wrap}.editor-back{display:none}.note-title{flex:1;min-width:160px;font-family:var(--sans);font-size:1.3rem;font-weight:700;background:transparent;border:none;padding:4px 2px}.note-title:focus{outline:none}.note-base-font{font-size:.8rem}.editor-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.save-indicator{font-size:.78rem;color:var(--faint);min-width:64px}.btn-link{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;font-size:.85rem;text-decoration:none}.btn-link:hover{border-color:var(--iris)}.note-tags-input{margin:10px 20px 0}.toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--line-soft);margin-top:10px}.tb-btn{background:transparent;border:1px solid transparent;padding:5px 9px;font-size:.85rem;min-width:30px}.tb-btn:hover{background:var(--card);border-color:var(--line)}.tb-btn.active{background:var(--card);border-color:var(--iris);color:var(--iris)}.tb-sep{width:1px;height:20px;background:var(--line);margin:0 4px}.tb-font{font-size:.8rem;max-width:120px}.tb-popover-wrap{position:relative}.popover{position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius);padding:10px;box-shadow:0 12px 30px #00000059}.swatches{display:flex;align-items:center;gap:6px}.swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);padding:0}.swatch-none{background:transparent;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--muted)}.symbol-picker{width:280px}.symbol-search{width:100%;margin-bottom:8px}.symbol-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-height:220px;overflow-y:auto}.symbol-grid button{padding:6px 0;font-size:1.1rem;text-align:center}.symbol-empty{grid-column:1 / -1;color:var(--faint);font-size:.8rem;text-align:center;padding:10px}.editor-content-wrap{flex:1;overflow-y:auto;padding:16px 20px 60px}.editor-content .ProseMirror{outline:none;min-height:100%;line-height:1.7;font-size:1rem}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--faint);float:left;height:0;pointer-events:none}.editor-content h1,.editor-content h2,.editor-content h3{font-family:var(--sans)}.editor-content h1{font-size:1.7rem}.editor-content h2{font-size:1.4rem}.editor-content h3{font-size:1.15rem}.editor-content blockquote{border-left:3px solid var(--iris);margin:0;padding-left:14px;color:var(--muted)}.editor-content pre{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;overflow-x:auto;font-family:var(--mono);font-size:.85rem}.editor-content code{font-family:var(--mono);background:var(--card);padding:1px 5px;border-radius:4px}.editor-content pre code{background:none;padding:0}.editor-content mark{border-radius:3px;padding:0 2px}.editor-content img{max-width:100%;border-radius:var(--radius-sm)}.editor-content a{color:var(--iris)}.editor-content ul,.editor-content ol{padding-left:1.4em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070c8c;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius);padding:24px;width:92%;max-width:560px;max-height:85vh;overflow-y:auto}.modal h2{font-family:var(--sans);margin-top:0}.modal-close{margin-top:14px}.share-url-row{display:flex;gap:8px;margin:12px 0}.share-url-row input{flex:1}.version-layout{display:grid;grid-template-columns:180px 1fr;gap:16px;max-height:50vh}.version-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.version-list li{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--line-soft);padding-bottom:6px}.version-list li button:first-child{text-align:left;background:transparent;border:none;font-size:.8rem;padding:4px 2px}.version-restore{align-self:flex-start;font-size:.72rem;padding:3px 8px}.version-preview{overflow-y:auto;border-left:1px solid var(--line-soft);padding-left:16px}.version-preview-content{font-size:.85rem;color:var(--muted)}.shared-note-screen{min-height:100vh;background:var(--bg);color:var(--text);padding:40px 20px;display:flex;justify-content:center}.shared-note-card{width:100%;max-width:720px}.shared-note-badge{display:inline-block;font-size:.75rem;color:var(--teal);border:1px solid var(--teal);padding:3px 10px;border-radius:20px;margin-bottom:14px}.shared-note-card h1{font-family:var(--sans)}.shared-note-error{display:flex;align-items:center;justify-content:center;color:var(--muted)}@media (max-width: 900px){.notes-app{display:block;height:100vh;overflow:hidden}.sidebar{position:fixed;top:0;right:30%;bottom:0;left:0;z-index:50;transform:translate(-105%);transition:transform .2s ease}.notes-app.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#05070c80;z-index:40}.note-list-pane,.editor-pane{height:100vh;display:none}.notes-app:not(.has-selected) .note-list-pane{display:flex}.notes-app.has-selected .editor-pane{display:flex}.hamburger,.editor-back{display:inline-flex}}@media print{.sidebar,.note-list-pane,.editor-header,.note-tags-input,.toolbar,.sidebar-backdrop{display:none!important}.notes-app{display:block;height:auto}.editor-pane{overflow:visible}.editor-content-wrap{overflow:visible;padding:0}body,.notes-app,.editor-pane{background:#fff;color:#000}}
