:root{--bg:#fbf6ee;--card:#fff;--ink:#3b2f2a;--muted:#8a7a70;--accent:#b5542f;--green:#2f7d4f;--blue:#2f5d8a;--gold:#c08a1e;--gray:#6e6763}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Georgia,serif;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
header{padding:22px 18px 6px;text-align:center}
header h1{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;margin:0}
header p{margin:4px 0 0;color:var(--muted);font-size:.95rem}
main{max-width:640px;margin:0 auto;padding:10px 16px}
input[type=search],input[type=text]{width:100%;font-size:1.15rem;padding:14px 16px;border:2px solid #e2d6c8;border-radius:14px;background:#fff;color:var(--ink);outline:none;-webkit-appearance:none}
input:focus{border-color:var(--accent)}
.card{background:var(--card);border-radius:14px;padding:14px 16px;margin:12px 0;box-shadow:0 1px 3px rgba(60,40,20,.08)}
.card h3{margin:0;font-family:Georgia,serif;font-size:1.1rem}
.card .by{color:var(--muted);font-size:.95rem}
.badges{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.b{font-size:.8rem;padding:3px 10px;border-radius:999px;color:#fff;background:var(--gray)}
.b.print{background:var(--green)}.b.kindle{background:var(--blue)}.b.audible{background:#d4801a}.b.wish{background:var(--gold)}
.muted{color:var(--muted);text-align:center;margin:24px 0}
nav{position:fixed;left:0;right:0;bottom:0;background:#fffaf3;border-top:1px solid #eadfce;display:flex;padding-bottom:env(safe-area-inset-bottom)}
nav a{flex:1;text-align:center;padding:12px 0 10px;color:var(--muted);text-decoration:none;font-size:.85rem}
nav a span{display:block;font-size:1.5rem}
nav a.on{color:var(--accent);font-weight:600}
.verdict{border-radius:20px;padding:26px 18px;text-align:center;color:#fff;margin:14px 0}
.verdict .big{font-family:Georgia,serif;font-size:2rem;font-weight:700;line-height:1.15}
.verdict .small{margin-top:8px;font-size:1.05rem;opacity:.95}
.v-owned{background:var(--green)}.v-other_format{background:var(--blue)}.v-wishlist{background:var(--gold)}.v-not_owned{background:var(--gray)}.v-error{background:#9b3b3b}
#video{width:100%;border-radius:16px;background:#000;aspect-ratio:4/3;object-fit:cover}
button{font-size:1.1rem;padding:14px 18px;border:0;border-radius:14px;background:var(--accent);color:#fff;width:100%;margin-top:10px}
button.secondary{background:#e9ddcf;color:var(--ink)}
.row{display:flex;gap:8px}.row>*{flex:1}
.controls{position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0 6px}
.chips{display:flex;gap:6px;overflow-x:auto;margin-top:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;font-size:.9rem;padding:7px 13px;border-radius:999px;border:1.5px solid #e2d6c8;background:#fff;color:var(--ink);width:auto;margin:0}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.count{color:var(--muted);font-size:.9rem;margin:8px 2px 0}
.letter{font-family:Georgia,serif;font-size:1.3rem;color:var(--accent);margin:18px 4px 4px;border-bottom:1px solid #eadfce}
.jump{position:fixed;right:2px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;z-index:6}
.jump a{font-size:.68rem;line-height:1.25;padding:0 5px;color:var(--accent);text-decoration:none;font-weight:600}
.b.sv{background:#2b5797}
.card.compact{padding:11px 14px;margin:8px 0}
