*{box-sizing:border-box}:root{--bg:#FAF8F5;--card:#fff;--text:#2D2D2D;--muted:#6B6B6B;--gold:#B8860B;--line:#E0DCD4}
@media (prefers-color-scheme:dark){:root{--bg:#16140f;--card:#201d17;--text:#ece6da;--muted:#a59d8f;--gold:#d4a84b;--line:#3a352c}}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 "Source Sans 3",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif}
a{color:inherit}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.top{padding:18px 0;font-size:.85rem;color:var(--muted)}.top a{text-decoration:none}
.hero{text-align:center;padding:16px 0 10px}.shop{font-family:"Cormorant Garamond",serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0}
h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:2.5rem;margin:0 0 .2em}.lead{margin:0 auto;max-width:560px;font-size:.92rem;color:var(--muted)}
.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:14px 0 0}
.tabs button{font:inherit;font-size:.9rem;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:6px 14px;cursor:pointer}
.tabs button small{color:var(--muted);font-size:.72rem;margin-left:2px}.tabs button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.tabs button[aria-pressed=true] small{color:inherit;opacity:.75}
.langs button{font-size:.82rem;padding:4px 11px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:16px 0 14px;font-size:.85rem;color:var(--muted)}
select{font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text)}
.sort button{font:inherit;font-size:.8rem;border:1px solid var(--line);background:none;color:var(--muted);padding:3px 9px;cursor:pointer}.sort button:first-child{border-radius:6px 0 0 6px}.sort button:last-child{border-radius:0 6px 6px 0;border-left:0}.sort button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}
#shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:22px 16px;padding-bottom:16px}
@media(max-width:400px){#shelf{grid-template-columns:repeat(2,1fr)}}
.book{display:flex;flex-direction:column}.cover{display:block}.book[hidden]{display:none}
.cover img,.noimg{width:100%;height:auto;aspect-ratio:5/8;object-fit:cover;border-radius:3px;display:block;box-shadow:0 4px 14px #0002;background:var(--line);transition:transform .15s}
.cover:hover img{transform:translateY(-3px)}
.buy{display:block;text-align:center;margin-top:8px;padding:6px 8px;border-radius:6px;background:var(--text);color:var(--bg);text-decoration:none;font-weight:600;font-size:.85rem}.buy:hover{background:var(--gold)}
.stores{display:flex;flex-wrap:wrap;gap:3px;margin:6px 0 0}.stores a{font-size:.68rem;color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:4px;padding:0 4px;line-height:1.6}.stores a:hover{color:var(--gold);border-color:var(--gold)}
h2.t{margin:0}
.no{font-size:.72rem;color:var(--gold);font-weight:600;margin-top:8px;letter-spacing:.04em}
.t{font-family:"Cormorant Garamond","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:600;font-size:1.05rem;line-height:1.3}.d{font-size:.75rem;color:var(--muted)}
#empty{text-align:center;color:var(--muted);padding:30px 0}.writing{text-align:center;font-size:.8rem;color:var(--muted)}
footer{text-align:center;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding:24px 0 40px;margin-top:16px}footer a{color:var(--muted)}.author{display:inline-block;font-size:.95rem;color:var(--text)!important;margin-bottom:8px}
