:root{color-scheme:light dark;--gap: .75rem;--muted: color-mix(in srgb, currentColor 60%, transparent);--line: color-mix(in srgb, currentColor 20%, transparent);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}body{margin:0}.app-shell>header{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap;padding:var(--gap) 1rem;border-bottom:1px solid var(--line)}.app-shell>header h1{font-size:1.125rem;margin:0}.app-shell nav{display:flex;gap:1rem;margin-right:auto}.app-shell nav a{text-decoration:none;color:inherit;padding:.25rem 0;border-bottom:2px solid transparent}.app-shell nav a.active{border-bottom-color:currentColor}main{padding:1rem;max-width:72rem;margin:0 auto}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--gap);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.filter-bar fieldset{display:flex;flex-wrap:wrap;gap:.5rem;border:1px solid var(--line);border-radius:6px;padding:.5rem;margin:0}.filter-bar legend{font-size:.75rem;color:var(--muted);padding:0 .25rem}.filter-bar label{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.filter-bar>label{flex-direction:column;align-items:flex-start;gap:.25rem}.shelf{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.shelf--grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.shelf--list{grid-template-columns:1fr}.book-card a{display:flex;gap:var(--gap);color:inherit;text-decoration:none}.book-card--grid a{flex-direction:column}.book-card--list a{flex-direction:row;align-items:flex-start;padding-bottom:var(--gap);border-bottom:1px solid var(--line)}.book-card__cover{position:relative;flex:none}.book-card__cover img,.book-card__cover--missing{width:120px;height:180px;border-radius:4px;object-fit:cover;display:block;background:color-mix(in srgb,currentColor 8%,transparent)}.book-card__cover--missing{display:flex;align-items:center;padding:.5rem;box-sizing:border-box;font-size:.75rem;overflow:hidden}.book-card__badges{position:absolute;bottom:.25rem;left:.25rem;right:.25rem;display:flex;flex-wrap:wrap;gap:.25rem}.badge{background:Canvas;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 .25rem;font-size:.6875rem;line-height:1.4}.book-card__text{display:flex;flex-direction:column;min-width:0}.book-card__title{font-weight:600;font-size:.875rem}.book-card__author,.book-card__series,.book-card__status,.book-card__rating{font-size:.8125rem;color:var(--muted)}.locked-notice{border:1px solid var(--line);border-left-width:4px;border-radius:4px;padding:var(--gap)}.empty-state{color:var(--muted);padding:2rem 0}.book-detail{max-width:40rem}.book-detail fieldset{display:flex;flex-wrap:wrap;gap:.5rem;border:1px solid var(--line);border-radius:6px}.book-detail textarea{display:block;width:100%;min-height:5rem;box-sizing:border-box}
