.book-unit{
  margin-top:24px;
  max-width:680px;
  border-top:1px solid var(--line);
}
.book-unit-head{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:var(--muted);
  font:650 9px/1 var(--mono);
  letter-spacing:.08em;
}
.book-unit-head strong{
  color:var(--fg);
  font:650 10px/1 var(--mono);
}
.book-unit-list{
  border-top:1px solid var(--line-soft);
}
.book-unit-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto 18px;
  gap:12px;
  align-items:center;
  min-height:58px;
  padding:9px 0;
  border-bottom:1px solid var(--line-soft);
  color:var(--fg);
  transition:color .18s ease,transform .18s var(--ease),background .18s ease;
}
.book-unit-row:hover,
.book-unit-row:focus-visible{
  color:var(--signal);
  transform:translateX(3px);
}
.book-unit-index,
.book-unit-shift,
.book-unit-arrow{
  color:var(--muted);
  font:650 9px/1.25 var(--mono);
  letter-spacing:.055em;
}
.book-unit-main{
  min-width:0;
  display:grid;
  gap:3px;
}
.book-unit-main strong{
  overflow:hidden;
  color:inherit;
  font-family:var(--serif);
  font-size:17px;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.015em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.book-unit-main small{
  overflow:hidden;
  color:var(--muted);
  font:500 9px/1.3 var(--mono);
  letter-spacing:.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.book-unit-shift{
  color:var(--signal);
}
.book-unit-empty{
  margin:0;
  padding:13px 0 2px;
  color:var(--muted);
  font:500 10px/1.45 var(--mono);
  letter-spacing:.025em;
}

.book-record-page .record-deck{
  max-width:760px;
}
.book-record-page .record-body{
  max-width:860px;
}
.book-record-page .book-language-switch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 30px;
  padding:0 0 13px;
  border-bottom:1px solid var(--line-soft);
  color:var(--muted);
  font:650 9px/1 var(--mono);
  letter-spacing:.08em;
}
.book-record-page .book-language-options{
  display:flex;
  align-items:center;
  gap:4px;
}
.book-record-page .book-language-options button{
  appearance:none;
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  min-height:30px;
  padding:0 10px;
  cursor:pointer;
  font:650 9px/1 var(--mono);
  letter-spacing:.055em;
}
.book-record-page .book-language-options button[aria-pressed="true"]{
  border-color:var(--signal);
  color:var(--signal);
}
.book-record-page .book-language-options button:focus-visible{
  outline:2px solid var(--signal);
  outline-offset:2px;
}
.book-record-page .book-language-panel[hidden]{
  display:none;
}
.book-record-page .book-record-section{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:24px;
  padding:28px 0;
  border-top:1px solid var(--line-soft);
}
.book-record-page .book-language-panel > .book-record-section:first-child,
.book-record-page .book-record-section:first-child{
  border-top:0;
  padding-top:0;
}
.book-record-page .book-record-section-label{
  color:var(--signal);
  font:650 9px/1.45 var(--mono);
  letter-spacing:.08em;
}
.book-record-page .book-record-section > :not(.book-record-section-label){
  min-width:0;
}
.book-record-page .book-record-section p{
  margin:0 0 1em;
}
.book-record-page .book-record-section p:last-child{
  margin-bottom:0;
}
.book-record-page .book-record-bibliography{
  display:grid;
  gap:7px;
  margin:0;
}
.book-record-page .book-record-bibliography div{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:16px;
}
.book-record-page .book-record-bibliography dt{
  color:var(--muted);
  font:650 9px/1.45 var(--mono);
  letter-spacing:.06em;
}
.book-record-page .book-record-bibliography dd{
  margin:0;
}

@media(max-width:680px){
  .book-unit-row{
    grid-template-columns:26px minmax(0,1fr) 16px;
    gap:9px;
  }
  .book-unit-shift{display:none;}
  .book-record-page .book-language-switch{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .book-record-page .book-record-section{
    grid-template-columns:1fr;
    gap:10px;
    padding:22px 0;
  }
  .book-record-page .book-record-bibliography div{
    grid-template-columns:1fr;
    gap:2px;
  }
}

@media(prefers-reduced-motion:reduce){
  .book-unit-row{transition:none;}
}
