:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2d2d2d;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent: #4a9eff;--accent-hover: #6bb3ff;--border: #3a3a3a;--error: #ff6b6b;--dirty: #ffa500}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.unlock-screen{height:100%;display:flex;align-items:center;justify-content:center}.unlock-container{background:var(--bg-secondary);padding:3rem;border-radius:8px;text-align:center;min-width:300px}.unlock-container h1{margin-bottom:.5rem;font-size:1.75rem}.unlock-container p{color:var(--text-secondary);margin-bottom:1.5rem}.unlock-container form{display:flex;flex-direction:column;gap:1rem}.unlock-container input{padding:.75rem 1rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem}.unlock-container input:focus{outline:none;border-color:var(--accent)}.unlock-container button{padding:.75rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.unlock-container button:hover:not(:disabled){background:var(--accent-hover)}.unlock-container button:disabled{opacity:.5;cursor:not-allowed}.unlock-container .error{color:var(--error);margin-top:1rem}.app{display:flex;height:100%}.app.loading{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.sidebar{width:250px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column}.nav-header{padding:1rem;border-bottom:1px solid var(--border)}.nav-header h2{font-size:1.25rem}.nav-links{list-style:none;padding:.5rem}.nav-links button{width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;color:var(--text-primary);font-size:.95rem;border-radius:4px;cursor:pointer;transition:background .2s}.nav-links button:hover{background:var(--bg-tertiary)}.nav-links button.active{background:var(--accent);color:#fff}.nav-footer{margin-top:auto;padding:1rem;border-top:1px solid var(--border)}.lock-btn{width:100%;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .2s}.lock-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.content{flex:1;display:flex;flex-direction:column;overflow:hidden}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.journal-view{flex:1;display:flex;flex-direction:column;padding:1rem}.journal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.month-select{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;font-size:1rem;cursor:pointer}.journal-actions{display:flex;align-items:center;gap:.75rem}.dirty-indicator{color:var(--dirty);font-size:.85rem}.journal-actions button,.note-actions button{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.journal-actions button:hover:not(:disabled),.note-actions button:hover:not(:disabled){background:var(--accent-hover)}.journal-actions button:disabled,.note-actions button:disabled{opacity:.5;cursor:not-allowed}.close-btn{background:var(--bg-tertiary)!important;color:var(--text-primary)!important}.close-btn:hover{background:var(--bg-primary)!important}.editor{flex:1;width:100%;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.95rem;line-height:1.6;resize:none}.editor:focus{outline:none;border-color:var(--accent)}.note-list{flex:1;display:flex;flex-direction:column;border-top:1px solid var(--border);overflow:hidden}.note-list-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.note-list-header h3{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.add-btn{width:24px;height:24px;padding:0;background:var(--accent);color:#fff;border:none;border-radius:4px;font-size:1.2rem;line-height:1;cursor:pointer}.add-btn:hover{background:var(--accent-hover)}.new-note-form{padding:.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.new-note-form input{padding:.5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary)}.new-note-form input:focus{outline:none;border-color:var(--accent)}.new-note-form button{padding:.4rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.85rem}.new-note-form button:first-of-type{background:var(--accent);border-color:var(--accent);color:#fff}.notes{list-style:none;overflow-y:auto;flex:1}.note-item{display:flex;align-items:center;padding:.6rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .2s}.note-item:hover{background:var(--bg-tertiary)}.note-item.selected{background:var(--accent)}.note-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.note-date{font-size:.75rem;color:var(--text-secondary);margin-left:.5rem}.note-item.selected .note-date{color:#ffffffb3}.delete-btn{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:0 .25rem;margin-left:.5rem;opacity:0;transition:opacity .2s}.note-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--error)}.notes .empty{padding:1rem;color:var(--text-secondary);font-size:.85rem;text-align:center}.note-editor{flex:1;display:flex;flex-direction:column;padding:1rem}.note-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.note-title-input{flex:1;padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:1.25rem;font-weight:500}.note-title-input:focus{outline:none;border-color:var(--accent)}.note-actions{display:flex;align-items:center;gap:.75rem}
