html:has(.library-body),.library-body{height:100%;overflow:hidden}
.library{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.library-cover{min-height:0;height:100vh;height:100dvh}
.contents-page{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.contents-header{flex:0 0 auto}
.contents-list{min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-right:9px;scrollbar-color:#af8a58 transparent}
.contents-list::-webkit-scrollbar{width:7px}
.contents-list::-webkit-scrollbar-thumb{background:#af8a58;border-radius:6px}
.contents-entry>span:nth-child(2){min-width:0}
.contents-name{display:block}
.contents-dates{display:block;margin-top:7px;padding-top:7px;border-top:1px dotted rgba(112,88,48,.38);white-space:normal;line-height:1.3}
@media(max-width:730px){
  html:has(.library-body),.library-body{width:100%;height:100%;overflow:hidden}
  .library{width:100%;height:100vh;height:100dvh;display:grid;grid-template-columns:1fr;grid-template-rows:112px minmax(0,1fr);overflow:hidden}
  .library-cover{height:112px;min-height:0;padding:16px 22px;overflow:visible;display:flex;flex-direction:row;align-items:center;gap:18px}
  .library-cover p{display:none}
  .library-cover h1{margin:0;font-size:32px;line-height:.92;letter-spacing:-.035em}
  .library-cover span{display:none}
  .contents-page{height:100%;min-height:0;padding:18px 16px 12px;overflow:hidden;display:flex;flex-direction:column}
  .contents-page:before{display:none}
  .contents-header{display:block;flex:0 0 auto;padding-bottom:12px}
  .contents-header h2{font-size:28px;line-height:1.05}
  .chapter{margin-bottom:6px}
  .contents-search{width:100%;margin-top:12px;padding:7px 0}
  .contents-list{flex:1 1 auto;min-height:0;padding-top:8px;padding-right:6px;overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y}
  .contents-entry{grid-template-columns:34px minmax(0,1fr) 18px;gap:9px;padding:10px 0}
  .contents-entry:hover{padding-left:0}
  .contents-number{font-size:16px}
  .contents-name{font-size:16px;line-height:1.18}
  .contents-dates{margin-top:5px;padding-top:5px}
  .contents-footer{display:none}
}
