:root {
  font-family: ShujianScreen,'Songti TC', 'Songti SC', 'Noto Serif CJK TC', serif;
  color: #423c36;
  background: #ffffff;
}
* { box-sizing: border-box; }
body { max-width: 1040px; margin: 0 auto; padding: 64px 40px 32px; }
header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 56px; }
h1 { font-size: 30px; font-weight: 400; letter-spacing: 10px; margin: 0; }
input { font-family: inherit; font-size: 14px; width: 180px; padding: 10px 0; border: 0; border-bottom: 1px solid #cfc5b9; background: transparent; color: inherit; border-radius: 0; }
input::placeholder { color: #85786b; }
input:focus { outline: none; border-color: #875769; }
h2 { font-size: 13px; font-weight: 400; letter-spacing: 3px; color: #827466; margin: 0 0 16px; }
.shelf-section { margin-bottom: 44px; }
.book-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 36px; }
.book { display: flex; flex-direction: column; justify-content: flex-start; gap: 6px; min-height: 88px; padding: 16px 0; color: inherit; text-decoration: none; transition: color .15s; }
.book:hover { color: #875769; }
.book:focus-visible { outline: 2px solid #875769; outline-offset: 4px; }
.book-name { font-size: 21px; line-height: 1.5; letter-spacing: 1px; overflow-wrap: anywhere; }
.book-author { display: none; }
footer { font-size: 11px; line-height: 2; color: #85786b; border-top: 1px solid #d7cec3; padding-top: 22px; }
#empty { color: #827466; padding: 40px 0; }
[hidden] { display: none !important; }
@media (max-width: 760px) {
  body { padding: 40px 28px 28px; }
  .book-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
}
@media (max-width: 440px) {
  body { padding: 32px 22px 24px; }
  header { margin-bottom: 40px; }
  input { width: 124px; }
  .book-list { column-gap: 22px; }
  .book-name { font-size: 19px; letter-spacing: 0; }
  .book { min-height: 86px; }
  .shelf-section { margin-bottom: 36px; }
}
@media (prefers-reduced-motion: reduce) { .book { transition: none; } }
