.seigei-reader { border: 1px solid #d8d8d8; background: #fff; color: #222; }
.seigei-reader-toolbar { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; padding: .65rem; border-bottom: 1px solid #ddd; direction: rtl; }
.seigei-reader-toolbar form { display: flex; gap: .35rem; margin-inline-start: auto; direction: ltr; }
.seigei-reader-toolbar input[type="number"] { width: 5rem; }
.seigei-reader-main { display: grid; grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr); height: var(--seigei-reader-height, 78vh); min-height: 520px; }
.seigei-visual-panel { overflow: auto; background: #ececec; padding: 20px; display: flex; justify-content: center; align-items: flex-start; }
.seigei-page-stage { position: relative; flex: 0 0 auto; box-shadow: 0 3px 18px rgba(0,0,0,.22); background: #fff; }
.seigei-page-stage canvas, .seigei-page-stage img { display: block; position: absolute; inset: 0; }
.seigei-overlay { position: absolute; inset: 0; z-index: 3; }
.seigei-ocr-region { position: absolute; border: 1px solid transparent; background: rgba(255, 230, 0, 0); padding: 0; cursor: pointer; }
.seigei-ocr-region:hover { border-color: rgba(190, 80, 0, .8); background: rgba(255, 220, 0, .18); }
.seigei-ocr-region.is-selected { border: 2px solid #c63f00; background: rgba(255, 190, 0, .28); z-index: 4; }
.seigei-text-panel { overflow: auto; border-left: 1px solid #ddd; padding: .75rem; background: #fafafa; }
.seigei-text-blocks { display: flex; flex-direction: column; gap: .3rem; }
.seigei-text-block { text-align: start; border: 1px solid transparent; background: transparent; padding: .5rem .6rem; line-height: 1.6; cursor: pointer; font: inherit; color: inherit; }
.seigei-text-block:hover { background: #f0f0f0; }
.seigei-text-block.is-selected { border-color: #c63f00; background: #fff2c7; }
.seigei-text-block mark { background: #ffe066; color: inherit; padding: 0 .05em; }
.seigei-search-results { border: 1px solid #ccc; background: #fff; margin-bottom: .75rem; max-height: 36%; overflow: auto; }
.seigei-search-heading { padding: .55rem; border-bottom: 1px solid #ddd; font-weight: 700; }
.seigei-search-result { display: flex; flex-direction: column; gap: .2rem; width: 100%; text-align: start; padding: .55rem; border: 0; border-bottom: 1px solid #eee; background: #fff; cursor: pointer; }
.seigei-search-result:hover { background: #f6f6f6; }
.seigei-reader-status { padding: .5rem .75rem; border-top: 1px solid #ddd; font-size: .9rem; }
.seigei-library-search form { display: flex; gap: .5rem; }
.seigei-library-search input[type="search"] { flex: 1; }
.seigei-library-result { display: flex; flex-direction: column; gap: .25rem; padding: .75rem 0; border-bottom: 1px solid #ddd; text-decoration: none; }
@media (max-width: 900px) {
  .seigei-reader-main { grid-template-columns: 1fr; height: auto; }
  .seigei-visual-panel { height: 62vh; }
  .seigei-text-panel { height: 42vh; border-left: 0; border-top: 1px solid #ddd; }
}
