.library-hero{display:flex;align-items:center;gap:17px;padding:22px;margin-bottom:16px;border-radius:24px;background:linear-gradient(125deg,#154c43,#2f7961);color:#fff}.library-hero>span{display:grid;place-items:center;width:65px;height:75px;border:1px solid #ffffff40;border-radius:18px;background:#ffffff12;font-size:2rem}.library-hero h2{margin:4px 0;font-size:1.18rem}.library-hero p,.library-hero small{margin:0;color:#dfebe3;font-size:.7rem}.library-search,.library-upload,.library-book,.library-results{padding:17px;border:1px solid var(--line);border-radius:21px;background:var(--surface);margin-bottom:13px}.library-search{display:grid;gap:11px}.library-search>label{font-weight:800;font-size:.83rem}.library-search textarea,.library-search select,.library-upload input{width:100%;min-width:0}.library-search textarea{font-size:.8rem}.library-search>small,.library-upload p{font-size:.63rem;color:var(--muted);line-height:1.8}.library-filters,.library-search-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.library-search-actions button{font-size:.72rem;padding:12px 7px}.library-upload>summary{font-weight:800;cursor:pointer;font-size:.8rem}.library-upload form{display:grid;gap:12px;margin-top:16px}.library-upload .library-file{padding:12px;border:1px dashed var(--brand);border-radius:12px;overflow:hidden}.library-file input{font-size:.64rem}.library-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.library-book{margin:0;min-width:0}.library-book header{display:flex;gap:10px;align-items:center}.library-book header>span{font-size:1.5rem}.library-book header>div{flex:1;min-width:0}.library-book h3{margin:4px 0;font-size:.82rem;overflow-wrap:anywhere}.library-book p,.library-book small{margin:0;color:var(--muted);font-size:.61rem;line-height:1.7}.library-book header>b{font-size:.7rem;color:var(--brand)}.library-book progress{display:block;width:100%;height:7px;margin:15px 0 10px;accent-color:var(--brand)}.library-book-meta{display:grid;gap:4px;font-size:.63rem}.library-book-meta>span{color:var(--muted)}.library-book footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.library-book button,.library-source button,.library-answer button,.library-review button{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--brand);font-size:.64rem;min-height:40px}.library-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-radius:14px;background:var(--surface-2);margin:12px 0;color:var(--brand);font-size:.7rem}.library-progress[hidden]{display:none}.library-progress button{background:transparent;color:var(--muted);font-size:.62rem}.library-results>header{display:flex;justify-content:space-between;gap:8px}.library-results h3{margin:0;font-size:.86rem}.library-results>p,.library-results small{font-size:.66rem;color:var(--muted);line-height:1.8}.library-answer{margin:12px 0;padding:14px;border-radius:16px;background:var(--surface-2)}.library-answer p{font-size:.81rem;line-height:1.9}.library-answer blockquote{margin:10px 0;padding:12px;border-right:3px solid var(--brand);background:var(--surface);font-size:.76rem;line-height:1.9;white-space:pre-wrap}.library-source{border-top:1px solid var(--line);padding:12px 0}.library-source>summary{display:flex;gap:9px;align-items:center;cursor:pointer;list-style:none}.library-source>summary>div{flex:1;min-width:0;display:grid;gap:4px}.library-source strong{font-size:.74rem}.library-source>p{white-space:pre-wrap;line-height:2;font-size:.82rem;max-height:400px;overflow:auto;padding:12px;background:var(--bg);border-radius:12px}.library-notice{padding:10px;background:var(--bg);border-radius:10px}.library-reader[open]{display:block!important;position:fixed!important;inset:0!important;transform:none!important;margin:0!important;width:100%!important;max-width:100%!important;height:100dvh!important;max-height:100dvh!important;padding:0!important;border:0!important;border-radius:0!important;background:#14221e;color:#fff;overflow:hidden!important}.library-reader-shell{display:flex;flex-direction:column;height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);min-width:0}.library-reader header{flex:none;padding:12px 16px;display:grid;gap:5px}.library-reader header strong{font-size:.85rem;overflow-wrap:anywhere}.library-reader header small{color:#b1cbbf;font-size:.65rem}.library-reader-stage{flex:1;min-height:0;overflow:auto;padding:12px;text-align:center;background:#27352e}.library-reader canvas{display:block;margin:auto;max-width:100%;height:auto;background:#fff}.library-reader footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px}.library-reader footer button{min-height:42px;padding:8px;background:#315344;color:#fff;border-radius:10px;font-size:.65rem}.library-reader footer form{display:flex;align-items:center;gap:5px;min-width:0}.library-reader footer label{display:flex;align-items:center;gap:4px;font-size:.6rem}.library-reader footer input{width:62px;min-width:0;max-width:62px;padding:7px;background:#fff;color:#163b2b;text-align:center;direction:ltr}.library-reader footer [data-lib-close]{background:#fff;color:#163b2b}.library-review{flex:none;max-height:50%;overflow:auto;background:var(--surface);color:var(--ink);padding:10px 14px}.library-review summary{font-size:.68rem;cursor:pointer}.library-review form{display:grid;gap:9px}.library-review p{font-size:.63rem;line-height:1.8;color:var(--muted)}.library-review label{display:grid;gap:5px;font-size:.67rem}.library-review textarea{width:100%;font-size:.82rem;line-height:1.9}.library-metadata{max-width:480px;width:95%;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink)}.library-metadata form{display:grid;gap:12px}.library-metadata label{display:grid;gap:5px}.library-metadata input{width:100%}@media(max-width:600px){.library-books{grid-template-columns:1fr}.library-hero{padding:17px}.library-search,.library-upload,.library-book{padding:14px}.library-filters{grid-template-columns:1fr}.library-reader footer{gap:4px;padding:8px 5px}.library-reader footer button{font-size:.58rem;padding:8px}.library-reader footer label{font-size:.5rem}}
