:root { color-scheme: light; font-family: system-ui, sans-serif; color: #203029; background: #f3f5f0; }
body { margin: 0; }
main { max-width: 1000px; margin: 5vh auto; padding: 32px; }
.eyebrow { font-size: .75rem; letter-spacing: .12em; color: #35654f; }
h1 { font-size: clamp(2rem, 6vw, 3rem); letter-spacing: -.04em; }
p, li { line-height: 1.65; }
aside { background: #e4ebdf; padding: 16px; border-radius: 8px; line-height: 1.5; }
form { margin-top: 24px; }
label { display: block; margin: 18px 0 6px; font-weight: 600; }
input, textarea, select { box-sizing: border-box; width: 100%; border: 1px solid #8c9e90; border-radius: 6px; padding: 12px; font: inherit; background: white; }
button { margin-top: 20px; border: 0; border-radius: 6px; padding: 12px 24px; background: #214c39; color: white; cursor: pointer; font: inherit; }
button:hover { background: #163525; }
:focus-visible { outline: 3px solid #8b5c00; outline-offset: 3px; }
[hidden] { display: none !important; }
section { margin-top: 28px; min-width: 0; }
.vault-header, .vault-toolbar, .actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.vault-header h1 { margin-bottom: 0; }
.vault-header form { margin: 0; }
.vault-toolbar { margin-top: 24px; }
.vault-toolbar button, .actions button { margin-top: 0; }
.vault-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 32px; }
.secondary { background: #e0e7df; color: #214c39; }
.secondary:hover { background: #cad7c9; }
.danger { background: #843a34; }
button:disabled { opacity: .6; cursor: wait; }
.check { display: flex; align-items: center; gap: 8px; font-weight: 400; }
.check input { width: auto; }
.actions { justify-content: flex-start; margin-top: 16px; }
.entry-list { list-style: none; padding: 0; }
.entry-choice { width: 100%; margin-top: 8px; text-align: left; background: #e4ebdf; color: #203029; overflow-wrap: anywhere; }
.entry-choice:hover { background: #d4e0ce; }
.entry-choice strong, .entry-choice span { display: block; }
.muted { color: #4c6254; }
.error { color: #8b2924; }
summary { cursor: pointer; }
@media (max-width: 720px) { .vault-columns { grid-template-columns: minmax(0, 1fr); gap: 0; } }
@media (max-width: 480px) { main { padding: 20px; margin: 3vh auto; } }
