.tw-book {max-width: 56rem; margin: auto; padding: 0 clamp(.5rem, 2vw, 1.5rem); line-height: 1.65; color: #282620; background: #faf7f0;}
.tw-book [hidden] {display: none !important;}
.tw-book img {display: block; max-width: 100%; height: auto;}
.tw-cover, .tw-divider {background: #241c18; color: #f9ecd5; padding: clamp(1.2rem, 5vw, 3rem); border-radius: .3rem;}
.tw-cover h1, .tw-divider h2 {color: inherit;}
.tw-cover img, .tw-divider img {width: 8rem; margin: 0 auto 1rem; aspect-ratio: 1;}
.tw-cover h1, .tw-divider h2 {text-align: center;}
.tw-actions {display: flex; gap: .6rem; flex-wrap: wrap; margin: 1rem 0;}
.tw-actions a {display: inline-block; border: 1px solid #765330; border-radius: .3rem; padding: .45rem .75rem; color: #4e331d; background: #faf7f0;}
.tw-book a:focus-visible {outline: 3px solid #397093; outline-offset: 3px;}
.tw-entry, #tw-index {scroll-margin-top: 6rem; margin: 1.5rem 0;}
.tw-entry > img {aspect-ratio: 16 / 9; width: 100%; object-fit: contain;}
.tw-divider > img {width: 8rem; aspect-ratio: 1;}
.tw-index-rows {list-style: none; padding: 0;}
.tw-index-rows a {display: grid; grid-template-columns: minmax(4rem, 23%) 1fr; gap: .9rem; align-items: center; padding: .65rem 0; border-bottom: 1px solid #ddd2c3; color: #4e331d;}
.tw-index-rows img {aspect-ratio: 16 / 9; object-fit: contain; width: 100%;}
.tw-index-rows small {display: block; color: #282620;}
.tw-label {font-size: .85em;}
.tw-preview iframe, .tw-preview video {width: 100%; height: auto; aspect-ratio: 16 / 9;}
