:root{--bg:#f7f4ef;--surface:#fff;--text:#1f1c18;--muted:#6b645b;--border:#e3ddd3;--accent:#8a4b2a;--accent-text:#fff;--star:#d99a1e;--danger:#b3261e;--notice-bg:#fbeee0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#171513;--surface:#221f1c;--text:#ece6dd;--muted:#a39b90;--border:#36312b;--accent:#d68a5c;--accent-text:#1a0f08;--star:#f0b43c;--danger:#f2827a;--notice-bg:#3a2a1d}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h3,p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.4rem .75rem}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.link{color:var(--muted);background:0 0;border:none;padding:.4rem .25rem;text-decoration:underline}button.danger{color:var(--danger)}input,select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem}.muted{color:var(--muted)}.center{text-align:center;padding:1.5rem 0}.notice{background:var(--notice-bg);border-radius:8px;margin:.75rem 0;padding:.6rem .8rem}.app{max-width:720px;min-height:100dvh;padding:0 16px calc(4.5rem + env(safe-area-inset-bottom));margin:0 auto}header{padding:calc(.9rem + env(safe-area-inset-top)) 0 .9rem;justify-content:space-between;align-items:center;display:flex}header h1{font-size:1.4rem}.tabs{padding:.5rem 16px calc(.5rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);justify-content:center;gap:.25rem;display:flex;position:fixed;inset:auto 0 0}.tabs button{max-width:200px;color:var(--muted);background:0 0;border:none;flex:1;font-weight:600}.tabs button[aria-current=page]{color:var(--accent)}.chips{scrollbar-width:none;gap:.4rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.chips button{white-space:nowrap;border-radius:999px}.chips button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.count{opacity:.7;font-size:.85em}.toolbar{padding-bottom:.75rem}.search{width:100%;margin-bottom:.75rem;font-size:1.05rem}.empty{text-align:center;color:var(--muted);justify-items:center;gap:1rem;padding:3rem 1rem;display:grid}.list{gap:.6rem;display:grid}.book{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:.85rem;padding:.75rem;display:flex}.cover{object-fit:cover;background:var(--border);border-radius:4px;flex:none;width:64px;height:96px}.cover.placeholder{color:var(--muted);place-items:center;font-size:1.6rem;font-weight:700;display:grid}.book-body{align-content:start;gap:.3rem;min-width:0;display:grid}.book h3{font-size:1rem}.book h3 a{color:inherit;text-decoration:none}.book h3 a:hover,.book h3 a:focus-visible{color:var(--accent);text-decoration:underline}a.ext{color:var(--muted);white-space:nowrap}a.ext:hover,a.ext:focus-visible{color:var(--accent)}.cover-link{flex:none;align-self:start;display:block}.reason{color:var(--accent);font-size:.85rem}.controls{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.3rem;display:flex}.stars{display:flex}.stars button{color:var(--border);background:0 0;border:none;padding:.2rem;font-size:1.25rem;line-height:1}.stars button.on{color:var(--star)}.auth{gap:1rem;max-width:360px;margin:0 auto;padding:15vh 16px 2rem;display:grid}.auth form{gap:.75rem;display:grid}.auth label{gap:.25rem;font-size:.9rem;display:grid}
