dialog.modal{border:1px solid var(--line);border-radius:12px;padding:0;width:min(560px,92vw);max-height:88vh;background:var(--bg);color:var(--fg)}dialog.modal::backdrop{background:#00000080}.modal-body{padding:20px;position:relative}.modal-body .close{position:absolute;top:12px;right:14px;font-size:18px;text-decoration:none}.modal-body section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.modal-body h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.modal .cover{width:96px;height:144px;object-fit:cover;border-radius:6px;background:var(--line);flex:none}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:13px}button.title{text-align:left;font-size:inherit}:root{--bg:#fff;--fg:#1c1b1a;--muted:#6b6862;--line:#e4e1db;--accent:#2f5d50;--card:#faf8f4;--err:#b3261e;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg:#161513;--fg:#ece9e3;--muted:#9a968e;--line:#33312d;--accent:#7fb8a4;--card:#1f1d1b;--err:#f2b8b5}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;max-width:720px;margin:0 auto;padding:16px;border-bottom:1px solid var(--line)}main{max-width:720px;margin:0 auto;padding:16px}a{color:var(--accent)}.brand{font-weight:700;text-decoration:none;color:var(--fg)}h2,h3{margin:24px 0 8px}input,select,button{font:inherit;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--fg)}input{width:100%}button{cursor:pointer;background:var(--accent);color:var(--bg);border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.on{background:transparent;color:var(--accent)}button.link{background:none;border:none;color:var(--accent);text-decoration:underline;padding:0}.card{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:14px;margin:16px 0}.stack{display:flex;flex-direction:column;gap:10px}.stack label{display:flex;flex-direction:column;gap:4px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row input{flex:1;min-width:160px}.muted{color:var(--muted)}.error{color:var(--err)}.list{list-style:none;padding:0;margin:8px 0}.list>li{padding:10px 0;border-bottom:1px solid var(--line)}.book{display:flex;gap:12px;align-items:flex-start}.grow{flex:1}.book img,.book .img{width:56px;height:84px;object-fit:cover;border-radius:4px;background:var(--line);flex:none}
