@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800&family=Be+Vietnam+Pro:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-app: #0f0f11;--bg-sidebar: #161618;--bg-panel: #1c1c1f;--bg-input: #232326;--bg-hover: #2a2a2e;--text-main: #e0e0e0;--text-muted: #8f8f9d;--text-dim: #5a5a60;--accent: #ccff00;--accent-dim: rgba(204, 255, 0, .1);--accent-text: #0f0f11;--border: #2a2a2e;--border-light: #3a3a40;--font-display: "Outfit", sans-serif;--font-body: "Be Vietnam Pro", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--sidebar-width: 320px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);line-height:1.5;height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}.app-container{display:flex;height:100vh;width:100vw}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;flex-shrink:0;transition:transform .3s ease;z-index:10}.content-area{flex:1;background-color:var(--bg-app);display:flex;flex-direction:column;position:relative;overflow:hidden}.sidebar-header{padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.sidebar-header h2{font-family:var(--font-display);font-weight:800;font-size:1.25rem;letter-spacing:-.02em;color:var(--text-main)}.btn-primary{background-color:var(--accent);color:var(--accent-text);border:none;width:32px;height:32px;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:600;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-dim)}.btn-primary:active{transform:translateY(0)}.filter-panel{padding:var(--spacing-md);border-bottom:1px solid var(--border);overflow-y:auto;max-height:50vh}.filter-panel::-webkit-scrollbar{width:4px}.filter-panel::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.search-container{margin-bottom:var(--spacing-md)}.search-input{width:100%;background-color:var(--bg-input);border:1px solid var(--border);color:var(--text-main);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--accent)}.filter-group{margin-bottom:var(--spacing-md)}.filter-group label{display:block;font-family:var(--font-display);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--spacing-xs)}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.checkbox-group label{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:400;font-size:.85rem;color:var(--text-main);cursor:pointer;text-transform:none;letter-spacing:normal;margin-bottom:0}.checkbox-group input[type=checkbox]{appearance:none;width:14px;height:14px;border:1px solid var(--border-light);border-radius:2px;background-color:var(--bg-input);cursor:pointer;position:relative}.checkbox-group input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent)}.checkbox-group input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;left:4px;width:4px;height:7px;border:solid var(--accent-text);border-width:0 2px 2px 0;transform:rotate(45deg)}.filter-select,.filter-input{width:100%;background-color:var(--bg-input);border:1px solid var(--border);color:var(--text-main);padding:6px 10px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--accent)}.date-inputs{display:flex;align-items:center;gap:var(--spacing-sm)}.date-inputs input{flex:1;background-color:var(--bg-input);border:1px solid var(--border);color:var(--text-main);padding:4px 8px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem}.date-inputs span{color:var(--text-muted);font-size:.8rem}.note-list-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.note-list-header{padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background-color:var(--bg-sidebar)}#note-count{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono)}.sort-select{background:transparent;border:none;color:var(--text-muted);font-size:.75rem;font-family:var(--font-body);cursor:pointer}.sort-select:hover{color:var(--text-main)}.note-list{list-style:none;overflow-y:auto;flex:1}.note-list::-webkit-scrollbar{width:4px}.note-list::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}.note-item{padding:var(--spacing-md);border-bottom:1px solid var(--border);cursor:pointer;transition:background-color .2s ease;position:relative}.note-item:hover{background-color:var(--bg-hover)}.note-item.active{background-color:var(--bg-hover);border-left:3px solid var(--accent)}.note-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.note-title{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--text-main);line-height:1.3}.note-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.note-badge{font-size:.65rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.badge-learn{background-color:#4299e133;color:#63b3ed}.badge-work{background-color:#ed893633;color:#f6ad55}.badge-personal{background-color:#48bb7833;color:#68d391}.badge-unsorted{background-color:#a0aec033;color:#a0aec0}.note-date{font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim)}.note-preview{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl)}.empty-state-content h3{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--text-main)}.empty-state-content p{color:var(--text-muted);max-width:400px}@media(max-width:768px){.app-container{flex-direction:column}.sidebar{width:100%;height:auto;max-height:40vh;border-right:none;border-bottom:1px solid var(--border)}.filter-panel{display:none}}.editor-container{display:flex;flex-direction:column;height:100%;background-color:var(--bg-app)}.editor-header{padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--bg-app);border-bottom:1px solid var(--border);flex-shrink:0}.form-row{margin-bottom:var(--spacing-md);display:flex;gap:var(--spacing-lg)}.form-row:last-child{margin-bottom:0}.title-row{margin-bottom:var(--spacing-lg)}.title-input{width:100%;font-family:var(--font-display);font-size:2rem;font-weight:700;background:transparent;border:none;outline:none;color:var(--text-main);padding:0;line-height:1.2}.title-input::placeholder{color:var(--text-dim)}.meta-row{align-items:flex-start}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-family:var(--font-display);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.form-group select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--bg-input);color:var(--text-main);font-family:var(--font-body);font-size:.9rem;min-width:140px;cursor:pointer;transition:border-color .2s ease}.form-group select:focus{outline:none;border-color:var(--accent)}.full-width{width:100%}.tag-input-container{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);min-height:42px;align-items:center;background-color:var(--bg-input);transition:border-color .2s ease}.tag-input-container:focus-within{border-color:var(--accent)}.tag-chip{background-color:var(--bg-panel);color:var(--text-main);padding:4px 10px;border-radius:100px;font-size:.85rem;display:flex;align-items:center;gap:6px;border:1px solid var(--border-light)}.tag-chip .remove-tag{cursor:pointer;color:var(--text-muted);font-weight:700;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;transition:all .2s ease}.tag-chip .remove-tag:hover{background-color:#ff4d4f33;color:#ff4d4f}.tag-input-field{border:none;outline:none;flex:1;min-width:100px;font-size:.9rem;padding:4px;background:transparent;color:var(--text-main);font-family:var(--font-body)}.info-row{margin-top:var(--spacing-lg);font-size:.75rem;color:var(--text-dim);gap:var(--spacing-xl);font-family:var(--font-mono)}.info-item{display:inline-flex;gap:8px}.info-item span{color:var(--text-muted)}.hidden{display:none!important}.cm-editor-container{flex:1;overflow:hidden;display:flex;flex-direction:column;font-size:1rem;background-color:var(--bg-app)}.cm-editor{height:100%;background-color:var(--bg-app)!important;color:var(--text-main)!important}.cm-scroller{overflow:auto;font-family:var(--font-mono)!important;line-height:1.6!important}.cm-gutters{background-color:var(--bg-sidebar)!important;color:var(--text-dim)!important;border-right:1px solid var(--border)!important}.cm-activeLineGutter{background-color:var(--bg-hover)!important}.cm-activeLine{background-color:#ffffff08!important}.cm-cursor{border-left-color:var(--accent)!important}.btn-danger{background:transparent;color:#ff4d4f;border:1px solid #ff4d4f;padding:6px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-family:var(--font-body);font-weight:500;transition:all .2s ease}.btn-danger:hover{background-color:#ff4d4f1a}.editor-footer{padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-app);position:relative}.editor-footer-actions{display:flex;gap:var(--spacing-sm);align-items:center}.save-status{font-family:var(--font-mono);font-size:.75rem;padding:4px 10px;border-radius:var(--radius-sm);transition:all .3s ease;-webkit-user-select:none;user-select:none}.save-unsaved{color:var(--accent);background-color:var(--accent-dim)}.save-saving{color:var(--text-muted)}.save-saved{color:#68d391;background-color:#48bb781a}.save-error{color:#ff4d4f;background-color:#ff4d4f1a;cursor:pointer}.btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:6px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-family:var(--font-body);font-weight:500;transition:all .2s ease}.btn-secondary:hover{background-color:var(--accent-dim)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background-color:var(--accent);color:var(--accent-text);border:none;padding:8px 20px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:.9rem;transition:transform .2s ease,box-shadow .2s ease}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-dim)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-light);padding:8px 20px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-weight:500;font-size:.9rem;transition:all .2s ease}.btn-ghost:hover{color:var(--text-main);border-color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-box{background-color:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:420px;width:90%;box-shadow:0 24px 48px #0006}.modal-box h3{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin-bottom:var(--spacing-sm);color:var(--text-main)}.modal-box p{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--spacing-lg);line-height:1.5}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.classify-popover{position:absolute;bottom:100%;right:var(--spacing-xl);margin-bottom:var(--spacing-sm);background-color:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-md);min-width:320px;box-shadow:0 12px 32px #0000004d;animation:slideUp .2s ease;z-index:50}.classify-header{font-family:var(--font-display);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:var(--spacing-md)}.classify-row{margin-bottom:var(--spacing-sm);font-size:.85rem;color:var(--text-main);display:flex;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap}.classify-row strong{color:var(--text-muted);min-width:80px;flex-shrink:0}.classify-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border)}.editor-readonly{pointer-events:none;opacity:.6}.editor-readonly:after{content:"READ ONLY";position:absolute;top:var(--spacing-md);right:var(--spacing-md);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--text-dim);background-color:var(--bg-input);border:1px solid var(--border);padding:4px 10px;border-radius:var(--radius-sm);pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
