.record-book { max-width: 1250px; margin: 0 auto; color: #102b49; }
.record-book .book-header { padding: clamp(20px, 4vw, 42px); background: #002b5c; color: white; border-radius: 12px; margin-bottom: 24px; }
.record-book .book-header h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); color: white; }
.record-book .book-header a { color: #ffe16b; font-weight: 700; }
.record-book .book-edition { color: #ffe16b; letter-spacing: .12em; font-size: .85rem; font-weight: 700; }
.record-book .edition-note { margin: 18px 0 0; font-size: .9rem; }
.record-book .book-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 12px; }
.record-book label { display: block; font-weight: 700; margin-bottom: 8px; }
.record-book input, .record-book select { width: 100%; min-width: 0; padding: 12px; font-size: 1rem; border: 1px solid #71849b; border-radius: 6px; background: white; color: #102b49; }
.record-book .book-reader { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; align-items: start; }
.record-book .book-page-picker { display: none; }
.record-book .book-pages {
    max-height: 760px;
    overflow-y: scroll;
    scrollbar-gutter: stable;
    padding: 4px;
    border: 1px solid #ccd6e1;
    border-radius: 6px;
}
.record-book .book-pages::-webkit-scrollbar { width: 18px; }
.record-book .book-pages::-webkit-scrollbar-track { background: #dce7f3; border-radius: 9px; }
.record-book .book-pages::-webkit-scrollbar-thumb {
    background: #002b5c;
    border: 3px solid #dce7f3;
    border-radius: 9px;
    min-height: 44px;
}
.record-book .book-pages::-webkit-scrollbar-thumb:hover { background: #0055a4; }
@supports not selector(::-webkit-scrollbar) {
    .record-book .book-pages { scrollbar-width: auto; scrollbar-color: #002b5c #dce7f3; }
}
.record-book button { padding: 10px 14px; min-height: 44px; border: 1px solid #8094ab; border-radius: 6px; background: white; color: #002b5c; font: inherit; }
.record-book button:hover { background: #edf3fa; }
.record-book button:disabled { opacity: .5; }
.record-book button:focus-visible, .record-book a:focus-visible, .record-book input:focus-visible, .record-book select:focus-visible { outline: 3px solid #b76b00; outline-offset: 3px; }
.record-book .book-pages button { display: block; width: 100%; margin-bottom: 8px; text-align: left; }
.record-book .book-pages span { display: block; font-size: .85rem; font-weight: 700; }
.record-book .book-pages .selected { background: #002b5c; color: white; border-color: #002b5c; }
.record-book .book-content { padding: clamp(14px, 3vw, 28px); border: 1px solid #ccd6e1; background: white; border-radius: 10px; min-width: 0; }
.record-book .book-content h2 { margin: 22px 0 16px; font-size: 1.5rem; }
.record-book .reader-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.record-book .view-controls { justify-content: start; margin-bottom: 20px; }
.record-book .view-controls button[aria-pressed="true"] { background: #002b5c; color: white; }
.record-book .reading-note { color: #526477; font-size: .9rem; }
.record-book .record-text { white-space: pre-wrap; overflow-wrap: anywhere; font-family: Arial, sans-serif; font-size: 1rem; line-height: 1.65; }
.record-book .original-page { display: block; width: 100%; height: auto; }
@media (max-width: 760px) {
.record-book .book-filters, .record-book .book-reader { grid-template-columns: minmax(0, 1fr); }
.record-book .book-pages { display: none; }
.record-book .book-page-picker { display: block; }
}
