:root { color-scheme: dark; font: 16px/1.5 system-ui,sans-serif; background:#14201b; color:#f5f1e7; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
header, main { max-width: 46rem; margin:auto; padding: 1.25rem; }
header { display:flex; justify-content:space-between; align-items:center; padding-top:2rem; }
h1,h2,p { margin:0 0 .8rem; }
h1 { font: 700 clamp(3rem,9vw,5rem)/1 Georgia,serif; margin:0; }
h1 span,a { color:#ffc985; }
main { padding-top:0; }
section, #library > details { background:#202f26; border:1px solid #3c4c42; padding:1.2rem; border-radius:1rem; margin-bottom:1rem; }
label { display:block; font-weight:650; margin:.7rem 0 .3rem; }
small, .meta { color:#c0ccbf; font-weight:400; }
input,textarea,button { font:inherit; border:1px solid #6b7c70; border-radius:.55rem; padding:.65rem .8rem; min-height:44px; }
input,textarea { background:#141e19; color:inherit; width:100%; }
input[type=date] { width:auto; max-width:100%; }
button { background:#ffc985; color:#24180e; font-weight:720; cursor:pointer; border-color:transparent; }
button.quiet { background:#283b30; color:#f5f1e7; border-color:#526458; }
button:disabled { opacity:.55; cursor:wait; }
summary { cursor:pointer; padding:.5rem 0; }
.actions,.section-head { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; }
#save { margin-inline-start:auto; }
.section-head { justify-content:space-between; }
.section-head h2 { margin:0; }
ul { list-style:none; padding:0; margin:.5rem 0 0; }
li { padding:.9rem 0; border-bottom:1px solid #425247; overflow-wrap:anywhere; }
li:last-child { border:0; }
li .actions { margin-top:.5rem; }
li a { font-weight:680; }
li button { font-size:.85rem; }
#notice:empty { display:none; }
#notice { color:#ffe2bc; }
dialog { width:min(44rem,calc(100% - 2rem)); max-height:85vh; border:1px solid #677b6d; border-radius:1rem; padding:1.2rem; background:#202f26; color:inherit; }
dialog form { text-align:right; }
dialog::backdrop { background:#101914d9; }
#reader-text { white-space:pre-wrap; overflow-wrap:anywhere; }
