.library-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.library-filters label:first-child{flex:2;min-width:220px}.library-filters label{flex:1;min-width:160px}.library-controls{margin:16px 0;flex-wrap:wrap}.library-controls select{max-width:65%;min-width:180px}.library-viewport{height:62vh;overflow:auto;touch-action:pan-x pan-y pinch-zoom;border:1px solid #c9d8e5;background:#edf2f6;padding:16px}.library-sheet{background:#fff;padding:24px;min-width:280px}.library-text{white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere}.library-sheet img{max-width:100%;height:auto}.library-scan{display:block;max-width:none;width:100%;height:auto}.library-reader h2{margin-top:0}@media(max-width:700px){.library-viewport{padding:6px;height:65vh}.library-sheet{padding:14px}.library-controls select{max-width:100%;width:100%}}
/* Expanded document reader; keep controls visible and scroll only the document. */
dialog:has(.library-fullscreen){position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;box-sizing:border-box;border-radius:0!important;padding:12px!important;overflow:hidden!important}
.library-reader.library-fullscreen{display:flex;flex-direction:column;height:calc(100dvh - 96px);min-height:0}
.library-fullscreen h2{font-size:1.1rem;margin:0 0 8px}
.library-fullscreen>p{display:none}
.library-fullscreen .library-controls{flex:none;margin:8px 0;gap:6px}
.library-fullscreen .library-controls select{flex:1;min-width:80px;max-width:none;width:auto}
.library-fullscreen .library-viewport{flex:1;min-height:0;height:auto;padding:4px;overscroll-behavior:contain}
@media(max-width:700px){.library-fullscreen .library-controls button{padding:8px}.library-fullscreen h2{font-size:1rem}.library-reader.library-fullscreen{height:calc(100dvh - 88px)}}

dialog:has(.library-reader){color:#193247;background:#f0f4f8;border:1px solid #c8d6e2;border-top:4px solid #e00025;box-shadow:0 20px 70px #122b4050}
.library-reader h2{color:#193247;font-size:1.15rem;line-height:1.4;padding:12px 0;margin:0;border-bottom:1px solid #d3dfea}
.library-controls{display:flex!important;align-items:center;background:#fff;border:1px solid #d3dfea;border-radius:10px;padding:10px;gap:8px!important}
.library-controls button{border-radius:7px;min-height:40px;padding:8px 14px;color:#1b527d;border:1px solid #c4d5e4;background:#fff;white-space:nowrap}
.library-controls button:disabled{opacity:.4}
.library-controls select{height:42px;border-radius:7px;border:1px solid #b6ccdf;color:#193247;background:#f7faff;padding:8px 12px}
#libraryZoom{font-size:.85rem;min-width:44px;text-align:center;color:#577085}
.library-viewport{border-radius:10px;background:#e7edf3;border:1px solid #c9d8e5}
.library-sheet{max-width:1080px;margin:16px auto;padding:32px;border-radius:8px;box-shadow:0 3px 16px #1932470e}
.library-empty{min-height:45vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#667d90;padding:24px}
.library-empty>span{font-size:36px;color:#006eaf;background:#dcecf9;border-radius:16px;padding:16px 24px;margin-bottom:12px}
.library-empty h3{color:#193247;margin:8px 0}.library-empty p{margin:6px 0}
.library-contents{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.library-contents p{margin:0}.library-contents button{width:100%;height:100%;text-align:left;border:1px solid #d4e1ed;border-left:3px solid #0071bc;border-radius:7px;padding:14px;background:#f8fbff;color:#214e70}
@media(max-width:700px){.library-controls{gap:6px!important;padding:8px}.library-controls select{order:-1;flex-basis:100%!important;width:100%!important}.library-sheet{padding:16px;margin:6px auto}.library-empty{padding:16px}.library-reader.library-fullscreen{height:calc(100dvh - 84px)}}

.library-language-label,.library-document-language{display:flex;flex-direction:column;gap:3px;font-size:11px;letter-spacing:.02em;color:#526f87;margin:0 6px}
.library-language-label select{font-size:13px;max-width:180px;min-height:34px;padding:5px 8px;border:1px solid #bdd0e1;border-radius:6px;background:white;color:#193247}
.library-controls .library-document-language{flex:none;min-width:140px}.library-controls .library-document-language select{width:160px;max-width:100%;min-width:100px;height:36px}
@media(max-width:700px){.library-controls .library-document-language{min-width:120px}.library-controls .library-document-language select{width:140px}.language-buttons{flex-wrap:wrap}.library-language-label{flex-basis:100%}}
