: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}
