:root{color-scheme:light dark;font-family:system-ui,-apple-system,sans-serif;--accent: #4f6df5;--border: color-mix(in srgb, currentColor 18%, transparent);--muted: color-mix(in srgb, currentColor 55%, transparent)}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}button{font:inherit;padding:.45rem .9rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.secondary{background:transparent;color:inherit;border-color:var(--border)}button.danger{background:transparent;color:#d04545;border-color:#d04545}input,textarea{font:inherit;color:inherit;background:transparent;border:1px solid var(--border);border-radius:6px;padding:.5rem .7rem}.muted{color:var(--muted)}.error{color:#d04545;margin:0}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.passphrase-card{display:flex;flex-direction:column;gap:.8rem;width:min(24rem,100%)}.passphrase-card h1,.passphrase-card .muted{margin:0}.journal{display:flex;height:100vh}.sidebar{width:17rem;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border)}.sidebar header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--border)}.sidebar h1{font-size:1.1rem;margin:0}.entry-list{list-style:none;margin:0;padding:.4rem;overflow-y:auto;flex:1}.entry-list .empty{padding:.6rem}.entry-link{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:transparent;color:inherit;border:none;padding:.5rem .6rem;border-radius:6px}.entry-link:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.entry-link.selected{background:color-mix(in srgb,var(--accent) 18%,transparent)}.entry-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-date{font-size:.8rem;color:var(--muted)}.sidebar footer{display:flex;gap:.4rem;padding:.7rem;border-top:1px solid var(--border)}.editor{flex:1;display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.2rem}.title-input{font-size:1.2rem;font-weight:600}.body-input{flex:1;resize:none;line-height:1.5}.editor-actions{display:flex;align-items:center;gap:.6rem}
