@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;color:#303832;--font-display:"Manrope", "DM Sans", sans-serif;background:#f8f7f4;font-family:DM Sans,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}::selection{color:#203f31;background:#dce7d9}.app-shell{background:radial-gradient(at 49% 34%,#e8e1d34d,#0000 39%),#f8f7f4;min-height:100vh;overflow-x:clip}.topbar{border-bottom:1px solid #eae8e2;justify-content:space-between;align-items:center;max-width:1184px;height:76px;margin:0 auto;padding:0 32px;display:flex}.brand{color:#1c2622;font-family:var(--font-display);letter-spacing:-1.2px;align-items:center;gap:10px;font-size:23px;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{color:#f7f6ef;background:#294d3d;border-radius:10px;place-items:center;width:31px;height:31px;display:grid}.topbar-note{color:#767b73;letter-spacing:.01em;align-items:center;gap:9px;font-size:12px;display:flex}.topbar-right{align-items:center;gap:18px;display:flex}.signout-button{color:#606a61;cursor:pointer;background:0 0;border:1px solid #e6e7e0;border-radius:7px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:inline-flex}.signout-button:hover{background:#f0f2ed}.status-dot,.eyebrow span{background:#7c9d78;border-radius:50%;width:7px;height:7px}.main-content{width:min(100% - 48px,880px);min-width:0;margin:0 auto;padding:52px 0 34px}.intro{margin-bottom:25px}.eyebrow{color:#768074;letter-spacing:.16em;justify-content:flex-start;align-items:center;gap:9px;margin:0 0 16px;font-size:10px;font-weight:650;display:flex}.intro h1{color:#222c27;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(32px,4.2vw,43px);font-weight:500;line-height:1.06}.intro-copy{color:#797b75;max-width:570px;margin:10px 0 0;font-size:14px;line-height:1.65}.admin-notice{color:#705c36;background:#fbf7ec;border:1px solid #ead9b6;border-radius:8px;margin:0 0 16px;padding:11px 14px;font-size:12px;line-height:1.55}.upload-card{box-sizing:border-box;background:#ffffffb8;border:1px dashed #c9cdc3;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:356px;padding:36px 24px 27px;transition:border-color .18s,background .18s,transform .18s;display:flex}.upload-card.is-dragging{background:#f4f7f2;border-color:#557762;transform:scale(1.01)}.upload-illustration{color:#51705c;background:#f5f6f1;border:1px solid #e7e9e2;border-radius:19px;place-items:center;width:65px;height:65px;margin-bottom:19px;display:grid;position:relative}.upload-paper{place-items:center;display:grid}.upload-spark{background:#d58d69;border:2px solid #f5f6f1;border-radius:50%;width:7px;height:7px;position:absolute}.spark-one{top:8px;right:3px}.spark-two{background:#96aa8e;width:5px;height:5px;bottom:6px;left:4px}.upload-card h2{color:#27332c;font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:22px;font-weight:500}.upload-description{color:#848780;text-align:center;margin:8px 0 20px;font-size:13px}.primary-button{color:#fff;cursor:pointer;min-height:43px;font:inherit;background:#294d3d;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 19px;font-size:13px;font-weight:550;transition:background .16s,transform .16s;display:inline-flex;box-shadow:0 3px 7px #223a2c1f}.primary-button:hover{background:#203f31;transform:translateY(-1px)}.primary-button:focus-visible,.icon-button:focus-visible,.page-arrow:focus-visible,.control-button:focus-visible{outline-offset:3px;outline:3px solid #61866b73}.file-hint{color:#92958d;align-items:center;gap:6px;margin:17px 0 0;font-size:11px;display:flex}.file-hint svg{color:#789178}.error-message{color:#a34e43;text-align:center;margin:12px 0 0;font-size:12px}.login-card{box-sizing:border-box;background:#ffffffd1;border:1px solid #e9e7e1;border-radius:13px;width:min(100%,430px);margin:0 auto;padding:30px;box-shadow:0 12px 35px #2e30290b}.login-card .upload-illustration{margin:0 auto 17px}.login-card h2,.share-card h2{color:#27332c;font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:20px;font-weight:550}.login-card .upload-description{margin-bottom:20px}.login-form{flex-direction:column;gap:9px;display:flex}.login-form label{color:#525d54;margin-top:3px;font-size:12px;font-weight:550}.login-form input{box-sizing:border-box;color:#303832;background:#fff;border:1px solid #e0e2db;border-radius:7px;outline:none;width:100%;min-height:41px;padding:0 11px;font-size:13px}.password-input-wrap{width:100%;position:relative}.password-input-wrap input{width:100%;padding-right:42px}.password-visibility-button{color:#66736a;cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-visibility-button:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #59806340}.login-form input:focus{border-color:#789178;box-shadow:0 0 0 3px #61866b1f}.login-form .primary-button{width:100%;margin-top:8px}.book-title-input{color:#525d54;flex-direction:column;gap:7px;margin:0 0 14px;font-size:12px;font-weight:550;display:flex}.book-title-input input{box-sizing:border-box;color:#303832;background:#fff;border:1px solid #e0e2db;border-radius:7px;outline:none;width:100%;min-height:42px;padding:0 12px;font-size:13px;font-weight:400}.book-title-input input:focus{border-color:#789178;box-shadow:0 0 0 3px #61866b1f}.book-title-input input:disabled{color:#777b74;background:#f4f5f1}.metadata-editor{background:#ffffffd1;border:1px solid #e9e7e1;border-radius:12px;margin-bottom:18px;padding:22px}.dashboard-heading{justify-content:space-between;align-items:center;gap:20px;margin:25px 0 22px;display:flex}.dashboard-heading .eyebrow{margin-bottom:8px}.dashboard-heading h2{color:#222c27;font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(27px,3.2vw,35px);font-weight:500}.dashboard-heading p:not(.eyebrow){color:#797b75;margin:7px 0 0;font-size:13px}.dashboard-heading .primary-button{flex:none}.dashboard-heading>div{min-width:0}.dashboard-heading .eyebrow{color:#718774}.dashboard-heading-actions{flex:none;justify-content:flex-end;align-items:center;gap:9px;display:flex}.admin-dashboard-backlink{color:#58705d;align-items:center;gap:7px;margin:-20px 0 20px;font-size:12px;font-weight:550;text-decoration:none;display:inline-flex}.admin-dashboard-backlink:hover{color:#294d3d}.dashboard-heading-actions .secondary-button,.dashboard-heading-actions .primary-button{justify-content:center;align-items:center;gap:7px;min-height:39px;text-decoration:none;display:inline-flex}.user-management-main{width:min(100% - 48px,960px)}.super-admin-main{width:min(100% - 48px,900px)}.super-admin-welcome{text-align:center;margin:33px auto 28px}.super-admin-welcome .reader-auth-icon{margin:0 auto 13px}.super-admin-welcome .eyebrow{justify-content:center;margin-bottom:9px}.super-admin-welcome h1{color:#222c27;font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(32px,4.5vw,46px);font-weight:500}.super-admin-welcome>p:last-child{color:#797b75;max-width:500px;margin:10px auto 0;font-size:14px;line-height:1.65}.super-admin-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.super-admin-stat{box-sizing:border-box;background:#ffffffd1;border:1px solid #e9e7e1;border-radius:12px;min-height:112px;padding:17px 18px}.super-admin-stat svg{color:#63806a}.super-admin-stat span{color:#797f77;margin-top:13px;font-size:11px;display:block}.super-admin-stat strong{color:#27332c;font-family:var(--font-display);margin-top:3px;font-size:28px;font-weight:550;display:block}.super-admin-actions{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.super-admin-action-card{min-height:105px;color:inherit;background:#ffffffe0;border:1px solid #e9e7e1;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.super-admin-action-card:last-child{grid-column:1/-1}.super-admin-action-card:hover{border-color:#c9d6ca;transform:translateY(-2px);box-shadow:0 8px 25px #31463612}.super-admin-action-icon{color:#51715a;background:#eef5ef;border-radius:11px;place-items:center;width:43px;height:43px;display:grid}.super-admin-action-card strong,.super-admin-action-card small{display:block}.super-admin-action-card strong{color:#27332c;font-size:14px;font-weight:650}.super-admin-action-card small{color:#85877f;margin-top:5px;font-size:11px;line-height:1.45}.super-admin-action-arrow{color:#78917c;font-size:22px}.user-management-backlink{color:#66736a;align-items:center;gap:7px;font-size:13px;text-decoration:none;display:inline-flex}.book-intro-description{color:#8a6d78;text-align:center;white-space:pre-line;width:min(100%,430px);margin:10px auto 0;padding-bottom:7px;font-size:12px;line-height:1.6}.book-intro-description-toggle{color:#ae4d70;cursor:pointer;font:inherit;background:#fff7fa;border:1px solid #efbfd0;border-radius:999px;align-items:center;gap:5px;margin:-13px auto 0;padding:6px 11px;font-size:11px;line-height:1;display:inline-flex}.book-intro-description-toggle:hover{background:#ffedf4}.book-intro-description+.book-intro-open,.book-intro-description-toggle+.book-intro-open{margin-top:12px}.user-management-backlink:hover{color:#294d3d}.user-management-heading{text-align:center;margin:28px auto 24px}.user-management-heading .reader-auth-icon{margin:0 auto 12px}.user-management-heading .eyebrow{justify-content:center;margin-bottom:8px}.user-management-heading h1{color:#222c27;font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(30px,4vw,39px);font-weight:500}.user-management-heading>p:last-child{color:#797b75;margin:8px auto 0;font-size:13px;line-height:1.6}.user-invite-card,.user-list-card{background:#ffffffe0;border:1px solid #e9e7e1;border-radius:12px;margin-top:16px;padding:21px}.user-section-title,.user-list-heading{align-items:center;gap:11px;display:flex}.user-section-title>svg{color:#63806a;flex:none}.user-section-title h2{color:#27332c;margin:0;font-size:15px;font-weight:650}.user-section-title p{color:#85877f;margin:4px 0 0;font-size:12px}.user-invite-fields{grid-template-columns:minmax(0,1fr) 190px auto;align-items:end;gap:12px;margin-top:18px;display:grid}.user-invite-fields label{color:#515b52;gap:7px;font-size:12px;font-weight:600;display:grid}.user-invite-fields input,.user-invite-fields select,.user-table select{color:#303832;width:100%;min-height:39px;font:inherit;background:#fff;border:1px solid #e0e2db;border-radius:7px;padding:0 10px;font-size:12px}.user-invite-fields .primary-button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:39px;display:inline-flex}.user-invite-fields .primary-button:disabled,.user-list-heading .secondary-button:disabled,.user-status-button:disabled{opacity:.6;cursor:wait}.user-list-heading{justify-content:space-between}.user-list-heading .secondary-button{align-items:center;gap:7px;display:inline-flex}.user-list-empty{color:#85877f;text-align:center;margin:20px 0 3px;font-size:13px}.user-table-scroll{margin-top:15px;overflow-x:auto}.user-table{border-collapse:collapse;text-align:left;width:100%}.user-table th{color:#777e75;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #ecece6;padding:10px 12px;font-size:10px;font-weight:650}.user-table td{color:#414b43;border-bottom:1px solid #f0f0eb;padding:12px;font-size:12px}.user-table tr:last-child td{border-bottom:0}.user-table td:first-child strong,.user-table td:first-child span{display:block}.user-table td:first-child strong{color:#303832;text-overflow:ellipsis;max-width:280px;font-weight:600;overflow:hidden}.user-table td:first-child span{color:#8b8d86;margin-top:4px;font-size:10px}.user-table select{min-width:150px;min-height:34px}.user-status{border-radius:20px;padding:5px 8px;font-size:10px;font-weight:650;display:inline-flex}.user-status.is-active{color:#386346;background:#edf5ee}.user-status.is-inactive{color:#8d4a43;background:#fbefed}.user-status-button{color:#42664b;cursor:pointer;min-height:32px;font:inherit;background:#fff;border:1px solid #dbe6dd;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:11px;display:inline-flex}.user-status-button.deactivate{color:#a14840;border-color:#f0dfdc}.user-status-button:hover{background:#f6f8f5}.user-actions{flex-wrap:wrap;gap:7px;min-width:174px;display:flex}.user-delete-button{color:#a14840;cursor:pointer;min-height:32px;font:inherit;background:#fff;border:1px solid #f0dfdc;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:11px;display:inline-flex}.user-delete-button:hover{background:#fff6f4}.user-delete-button:disabled{opacity:.6;cursor:wait}.metadata-editor .eyebrow,.book-catalog .eyebrow{margin:0 0 7px;font-size:9px}.catalog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.catalog-heading h2{color:#27332c;font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:20px;font-weight:550}.metadata-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.metadata-form-grid .book-title-input{margin-bottom:13px}.book-title-input textarea{box-sizing:border-box;color:#303832;width:100%;min-height:78px;font:inherit;resize:vertical;background:#fff;border:1px solid #e0e2db;border-radius:7px;outline:none;padding:10px 12px;font-size:13px;font-weight:400}.book-title-input textarea:focus{border-color:#789178;box-shadow:0 0 0 3px #61866b1f}.book-title-input textarea:disabled{color:#777b74;background:#f4f5f1}.metadata-description,.cover-field{grid-column:1/-1}.cover-picker{align-items:center;gap:13px;display:flex}.cover-preview{color:#6d8371;background:#f1f4ef;border:1px solid #e5e7df;border-radius:7px;flex:none;place-items:center;width:66px;height:82px;display:grid;overflow:hidden}.cover-preview img{object-fit:cover;width:100%;height:100%}.cover-picker-actions{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.cover-picker-actions>span{color:#888c84;flex-basis:100%;font-size:11px;font-weight:400}.text-button{color:#8c5b5b;cursor:pointer;font:inherit;background:0 0;border:0;padding:6px 4px;font-size:12px}.text-button:hover:not(:disabled){color:#a34e43;text-decoration:underline}.text-button:disabled{opacity:.55;cursor:default}.metadata-form-actions{align-items:center;gap:9px;display:flex}.metadata-form-actions .primary-button:disabled{opacity:.62;cursor:default}.catalog-open-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.upload-metadata{margin-bottom:14px}.upload-metadata .catalog-heading{margin-bottom:13px}.book-catalog{background:#ffffffe0;border:1px solid #e9e7e1;border-radius:16px;min-width:0;margin-top:30px;padding:24px;box-shadow:0 14px 38px #2e30290b}.book-catalog .catalog-heading{margin-bottom:4px}.book-catalog .catalog-heading h2{font-size:15px}.catalog-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:290px;margin-top:0;display:flex}.catalog-empty .upload-illustration{margin-bottom:15px}.catalog-empty h2{color:#27332c;font-family:var(--font-display);margin:0;font-size:21px;font-weight:500}.catalog-empty .upload-description{max-width:360px;margin-bottom:17px}.dashboard-notice{margin-top:18px}.back-to-library{color:#58705d;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:7px;margin:-20px 0 20px;padding:7px 0;font-size:12px;font-weight:550;display:inline-flex}.back-to-library:hover{color:#294d3d}.modal-backdrop{z-index:20;box-sizing:border-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#19201b6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.edit-book-modal{box-sizing:border-box;background:#fff;width:min(100%,560px);max-height:min(760px,100vh - 48px);margin:auto;padding:25px;overflow-y:auto;box-shadow:0 24px 80px #171f1a33}.edit-book-modal .catalog-heading h2{font-size:22px}.edit-book-modal .catalog-heading .icon-button:disabled{opacity:.5;cursor:default}.catalog-count{color:#4e6a55;background:#edf2eb;border-radius:50%;place-items:center;min-width:29px;height:29px;font-size:12px;font-weight:600;display:grid}.catalog-message{color:#848780;margin:0;padding:18px 0 5px;font-size:13px}.catalog-error{text-align:left;margin:0 0 8px}.success-message{color:#3e6748;background:#f0f7ee;border:1px solid #d6e5d4;border-radius:8px;align-items:center;gap:9px;margin:0 0 16px;padding:12px 15px;font-size:13px;line-height:1.5;display:flex}.success-message svg{flex:none}.catalog-help{color:#848780;margin:0 0 10px;font-size:11px;line-height:1.5}.book-list{margin:0;padding:0;list-style:none}.book-list-item{border-top:1px solid #eeede8;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:15px 0;display:flex}.book-list-info{align-items:center;gap:11px;min-width:0;display:flex}.book-list-icon{color:#51705c;background:#f1f4ef;border:1px solid #e8eae4;border-radius:7px;flex:none;place-items:center;width:42px;height:48px;display:grid;overflow:hidden}.book-list-icon img{object-fit:cover;width:100%;height:100%}.book-list-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.book-list-copy strong,.book-list-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-list-copy strong{color:#303832;font-size:13px;font-weight:600}.book-list-copy span{color:#848780;font-size:11px}.book-list-actions{flex:0 auto;align-items:center;gap:5px;display:flex}.catalog-action{color:#69736a;width:34px;height:34px}.catalog-action:hover:not(:disabled){color:#294d3d;background:#f0f2ed}.catalog-delete:hover:not(:disabled){color:#a34e43;background:#fbf0ed}.catalog-action:disabled{opacity:.5;cursor:default}.session-loading{min-height:190px;box-shadow:none;background:0 0}.save-book-button{color:#fff;cursor:pointer;white-space:nowrap;background:#294d3d;border:1px solid #294d3d;border-radius:7px;min-height:34px;padding:0 12px;font-size:11px;font-weight:550}.save-book-button:hover:not(:disabled){background:#203f31}.save-book-button:disabled{opacity:.62;cursor:default}.share-card{background:#f3f7f1;border:1px solid #dce6d8;border-radius:10px;margin-top:15px;padding:17px 19px}.share-card h2{font-size:16px}.share-card p{color:#757d73;margin:5px 0 12px;font-size:12px}.share-link-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.share-actions{flex:none;align-items:center;gap:5px;display:flex}.qr-button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.share-link-row a{color:#45634d;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.qr-modal{box-sizing:border-box;text-align:center;background:#fff;border:1px solid #e9e7e1;border-radius:16px;width:min(100%,420px);margin:auto;padding:25px;box-shadow:0 24px 80px #171f1a33}.qr-modal .catalog-heading{text-align:left}.qr-modal .catalog-heading h2{font-size:22px}.qr-book-title{color:#4e5c51;margin:0 0 15px;font-size:14px;font-weight:600}.qr-code-frame{background:#fff;border:1px solid #eceee8;border-radius:12px;width:fit-content;margin:0 auto;padding:12px}.share-qr-code{width:min(220px,58vw);height:auto;display:block}.qr-modal-copy{color:#85877f;margin:14px 0 19px;font-size:12px}.qr-modal .metadata-form-actions{flex-wrap:wrap;justify-content:center}.qr-modal .primary-button{gap:7px}.upload-error{margin-top:14px}.secondary-button{color:#606a61;cursor:pointer;background:#fff;border:1px solid #e4e5df;border-radius:7px;min-height:36px;padding:0 12px;font-size:12px}.replace-button{margin-top:13px}.secondary-button:hover{background:#f2f3ef}.empty-state{text-align:center;width:min(100% - 48px,540px);margin:16vh auto 0}.empty-state h1{color:#27332c;font-family:var(--font-display);margin:0 0 12px;font-size:32px;font-weight:550}.empty-state p{color:#797b75;font-size:14px;line-height:1.6}.empty-state a{color:#45634d}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reader-card{background:#fff;border:1px solid #e9e7e1;border-radius:14px;overflow:hidden;box-shadow:0 18px 55px #2e302911}.reader-toolbar{border-bottom:1px solid #efeee9;justify-content:space-between;align-items:center;min-height:69px;padding:0 20px;display:flex}.shared-book-details{background:#fff;border-bottom:1px solid #eeede8;padding:14px 22px 15px}.shared-book-details-toggle{color:#a14c6b;cursor:pointer;font:inherit;background:#fff8fb;border:1px solid #f0cbd8;border-radius:8px;align-items:center;gap:6px;margin-bottom:7px;padding:5px 9px;font-size:11px;display:inline-flex}.shared-book-details-toggle:hover{background:#ffedf4}.shared-book-details.is-collapsed{padding-bottom:8px}.shared-book-details-content{margin-top:2px}.shared-book-details p{margin:0}.shared-book-subtitle{color:#525d54;font-family:var(--font-display);font-size:15px}.shared-book-author{color:#85877f;font-size:11px;margin-top:4px!important}.shared-book-description{color:#70766e;white-space:pre-wrap;max-width:760px;font-size:12px;line-height:1.6;margin-top:9px!important}.metadata-load-error{color:#8b6a36;text-align:center;margin:10px 0 0;font-size:12px}.document-info,.toolbar-actions{align-items:center;display:flex}.document-info{gap:11px;min-width:0}.document-icon{color:#54715b;background:#f1f4ee;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.document-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.preview-badge{color:#777052;white-space:nowrap;background:#f6f3e9;border-radius:5px;flex:none;margin-left:12px;padding:5px 8px;font-size:10px}.document-name{color:#313a33;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,390px);font-size:12px;font-weight:600;overflow:hidden}.document-meta{color:#95968f;font-size:10px}.toolbar-actions{gap:7px;margin-left:12px}.icon-button{color:#747a72;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:34px;height:34px;transition:color .15s,background .15s;display:grid}.icon-button:hover{color:#294d3d;background:#f3f5f0}.close-button{color:#96978f;margin-left:2px}.book-stage{box-sizing:border-box;perspective:1500px;background:radial-gradient(#666e601f,#0000 52%),#f0f0ea;justify-content:center;align-items:center;min-height:330px;padding:30px 76px;display:flex;position:relative;overflow:hidden}.stage-glow{filter:blur(33px);background:#2f332b1a;border-radius:50%;width:65%;height:25%;position:absolute;bottom:19px}.pdf-document{z-index:1;flex:auto;justify-content:center;align-items:center;width:100%;min-width:0;min-height:255px;display:flex;position:relative}.flipbook-host{perspective:1800px;justify-content:center;align-items:center;width:100%;display:flex;overflow:visible}.flipbook{margin:0 auto;transition:translate .26s}.flipbook-closed-start{translate:calc(var(--flipbook-page-width) / -2) 0}.flipbook-closed-end{translate:calc(var(--flipbook-page-width) / 2) 0}.flipbook-page{background:#fff;justify-content:center;align-items:center;line-height:0;display:flex;overflow:hidden;box-shadow:inset 0 0 1px #2327221f}.flipbook .stf__item.--hard.--left:not(.--simple),.flipbook-turning-back-cover .flipbook-back-cover-leaf.stf__item.--soft.--left{left:calc(50% - var(--flipbook-page-width))!important}.flipbook-page img{object-fit:fill;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.page-loading{box-sizing:border-box;color:#85877f;text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-width:210px;min-height:255px;padding:22px;font-size:12px;line-height:1.5;display:flex;box-shadow:0 11px 27px #2628231f}.spinner{border:2px solid #e7ebe4;border-top-color:#54715b;border-radius:50%;width:21px;height:21px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-arrow{z-index:2;color:#59645b;cursor:pointer;background:#ffffffd4;border:1px solid #e1e2dacc;border-radius:50%;place-items:center;width:38px;height:38px;transition:opacity .15s,background .15s,transform .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 3px 9px #35373114}.page-arrow:hover:not(:disabled){background:#fff;transform:translateY(-50%)scale(1.06)}.page-arrow:disabled{opacity:.36;cursor:default}.page-arrow-left{left:23px}.page-arrow-right{right:23px}.reader-controls{grid-template-columns:63px minmax(60px,1fr) auto;align-items:center;gap:19px;padding:18px 22px 19px;display:grid}.shared-reader-main{width:min(100% - 24px,1040px);margin:0 auto;padding:28px 0 42px}.reader-theme{color:#57414a;background:radial-gradient(at 8% 16%,#ffd3e094,#0000 29%),radial-gradient(at 91% 72%,#ffe2e785,#0000 31%),#fff8f8}.book-intro{box-sizing:border-box;text-align:center;background:radial-gradient(at 50% 36%,#ffe1eaa8,#0000 55%),#ffffffc2;border:1px solid #f4cfdae6;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;width:min(100%,520px);min-height:min(720px,100dvh - 70px);margin:0 auto;padding:clamp(28px,6vh,54px) 28px 34px;animation:.52s cubic-bezier(.2,.75,.25,1) both book-intro-arrive;display:flex;box-shadow:0 22px 60px #9353671a}.book-intro-copy{max-width:390px;margin-bottom:30px}.book-intro-eyebrow{color:#b45e78;letter-spacing:.18em;font-size:10px;font-weight:750}.book-intro-copy h1{color:#583f49;font-family:var(--font-display);margin:12px 0 8px;font-size:clamp(25px,5vw,34px);font-weight:550;line-height:1.2}.book-intro-copy p{color:#8c737d;margin:0;font-size:14px;line-height:1.6}.book-intro-author{color:#9b435f;font-family:var(--font-display);margin-top:12px;font-size:14px;display:inline-block}.book-intro-cover-wrap{filter:drop-shadow(0 18px 24px #6b465333);width:min(250px,68vw);margin:0 0 30px;animation:.7s cubic-bezier(.2,.75,.25,1) .12s both book-intro-cover-arrive;position:relative}.book-intro-opening{animation:.42s ease-in forwards book-intro-open}.book-intro-opening .book-intro-bow{animation:.42s ease-in forwards book-intro-unwrap}.book-intro-cover{aspect-ratio:.707;box-sizing:border-box;object-fit:cover;background:#fff5f7;border:5px solid #fff;border-radius:5px 12px 12px 5px;width:100%;max-height:min(39vh,400px);display:block;box-shadow:inset 5px 0 #623d4b14}.book-intro-cover-fallback{color:#a44f69;font-family:var(--font-display);background:linear-gradient(145deg,#f5d9e1,#fff5f7 62%,#f0cad6);flex-direction:column;justify-content:center;align-items:center;gap:17px;padding:24px;font-size:20px;display:flex}.book-intro-bow{z-index:1;filter:drop-shadow(0 5px 5px #7532482e);width:94px;height:60px;animation:.62s cubic-bezier(.2,.75,.25,1) .28s both book-intro-bow-arrive;position:absolute;top:-27px;left:8%;transform:translate(-50%)rotate(-5deg)}.book-intro-bow svg{fill:#e982a1;stroke:#ad4565;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px;width:100%;height:100%;overflow:visible}.book-intro-open{color:#fff;cursor:pointer;min-height:48px;font:inherit;background:#c34e73;border:0;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 25px;font-size:14px;font-weight:650;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 8px 19px #c34e7340}.book-intro-open:hover{background:#ad3e63;transform:translateY(-2px);box-shadow:0 11px 22px #c34e734d}.book-intro-open:focus-visible{outline-offset:3px;outline:3px solid #c24f7359}.book-intro-hint{color:#a58d95;margin-top:12px;font-size:11px}@keyframes book-intro-arrive{0%{opacity:0;transform:translateY(12px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes book-intro-cover-arrive{0%{opacity:0;transform:translateY(18px)rotate(-2deg)scale(.96)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes book-intro-bow-arrive{0%{opacity:0;transform:translate(-50%,-10px)rotate(-14deg)scale(.82)}to{opacity:1;transform:translate(-50%)rotate(-5deg)scale(1)}}@keyframes book-intro-unwrap{to{opacity:0;transform:translate(-50%,-34px)rotate(28deg)scale(.72)}}@keyframes book-intro-open{to{opacity:0;transform:translateY(-12px)scale(1.04)}}.reader-welcome{background:#ffffffc7;border:1px solid #f4cfdad9;border-radius:15px;align-items:center;gap:14px;min-height:82px;margin:0 0 17px;padding:0 22px;display:flex;box-shadow:0 8px 24px #9353670e}.reader-welcome-kitty{object-fit:contain;flex:none;width:49px;height:62px}.reader-welcome div{flex:auto;min-width:0}.reader-welcome span{color:#b45e78;letter-spacing:.15em;font-size:9px;font-weight:700}.reader-welcome p{color:#634a54;font-family:var(--font-display);margin:5px 0 0;font-size:15px;font-weight:550}.reader-welcome-bow{object-fit:contain;flex:none;width:58px;height:48px}.reader-card-shared{border-color:#f0d7df;border-radius:18px;box-shadow:0 22px 60px #9353671c}.reader-card-shared .reader-toolbar{background:linear-gradient(110deg,#fff 54%,#fff7f8);border-bottom-color:#f4e4e8}.reader-card-shared .document-icon{color:#b45e78;background:#fff0f4}.document-icon-cover{overflow:hidden}.document-icon-cover img{object-fit:cover;width:100%;height:100%}.reader-card-shared .document-name{color:#59414a}.reader-card-shared .document-meta{color:#a58d95}.reader-card-shared .icon-button:hover{color:#b33f67;background:#fff0f4}.reader-card-shared .shared-book-details{background:#fffafb;border-bottom-color:#f4e4e8}.reader-card-shared .shared-book-subtitle{color:#825164}.reader-card-shared .shared-book-author,.reader-card-shared .shared-book-description{color:#8c737d}.reader-card-shared .book-stage{background:radial-gradient(#e87e9d1c,#0000 55%),linear-gradient(135deg,#fff7f8,#fff1f4 55%,#fff8f5)}.reader-card-shared .stage-stickers{z-index:0;pointer-events:none;position:absolute;inset:0}.reader-card-shared .stage-stickers img{object-fit:contain;opacity:.12;height:auto;position:absolute}.stage-sticker-a{width:67px;top:9%;left:4%;transform:rotate(-13deg)}.stage-sticker-b{width:54px;top:16%;left:22%;transform:rotate(11deg)}.stage-sticker-c{width:61px;top:7%;right:34%;transform:rotate(-8deg)}.stage-sticker-d{width:74px;top:13%;right:5%;transform:rotate(12deg)}.stage-sticker-e{width:57px;top:60%;right:10%;transform:rotate(-15deg)}.stage-sticker-f{width:72px;bottom:8%;left:8%;transform:rotate(9deg)}.stage-sticker-g{width:52px;bottom:7%;right:33%;transform:rotate(-10deg)}.stage-sticker-h{width:45px;top:48%;left:13%;transform:rotate(16deg)}.stage-sticker-i{width:48px;top:37%;right:5%;transform:rotate(-9deg)}.stage-sticker-j{width:59px;bottom:19%;left:25%;transform:rotate(14deg)}.stage-sticker-k{width:43px;bottom:35%;right:20%;transform:rotate(7deg)}.stage-sticker-l{width:52px;top:75%;left:46%;transform:rotate(-12deg)}.reader-card-shared .stage-glow{z-index:1;background:#b0677e1f}.reader-card-shared .pdf-document{z-index:2}.reader-card-shared .page-arrow{z-index:3;color:#a44f69;background:#ffffffeb;border-color:#f0d3dc;box-shadow:0 5px 15px #9353671f}.reader-card-shared .page-arrow:hover:not(:disabled){color:#923852;background:#fff}.reader-card-shared .reader-controls{background:#fff}.reader-card-shared .page-counter{color:#a38c94}.reader-card-shared .current-page{color:#9b435f}.reader-card-shared .page-slider{background:linear-gradient(to right, #d66b8c var(--progress), #f2e4e8 var(--progress))}.reader-card-shared .page-slider::-webkit-slider-thumb{background:#c24f73;box-shadow:0 0 0 1px #c24f73}.reader-card-shared .page-slider::-moz-range-thumb{background:#c24f73;box-shadow:0 0 0 1px #c24f73}.reader-card-shared .control-button{color:#815c69;border-color:#f0e2e6}.reader-card-shared .control-button:hover:not(:disabled){background:#fff7f9;border-color:#e8c0cc}.reader-card-shared .next-button,.reader-card-shared .next-button:hover:not(:disabled){color:#fff;background:#c34e73;border-color:#c34e73}.reader-card-shared .page-arrow:focus-visible,.reader-card-shared .control-button:focus-visible,.reader-card-shared .icon-button:focus-visible,.reader-theme .page-slider:focus-visible{outline-color:#c24f736b}.reader-card-shared .book-stage{min-height:min(78vh,820px)}.book-stage:fullscreen{background:radial-gradient(#666e601f,#0000 52%),#f0f0ea;width:100vw;height:100dvh;min-height:0;padding:clamp(20px,4vh,58px) clamp(48px,6vw,104px)}.reader-card-shared .book-stage:fullscreen{background:radial-gradient(#e87e9d1c,#0000 55%),linear-gradient(135deg,#fff7f8,#fff1f4 55%,#fff8f5)}.book-stage:fullscreen .pdf-document{min-height:0}.page-counter{color:#92948d;font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:11px;display:flex}.current-page{color:#334439;font-size:13px;font-weight:650}.page-divider{color:#c6c7c0}.page-slider{appearance:none;background:linear-gradient(to right, #5e8066 var(--progress), #e8e9e3 var(--progress));cursor:pointer;border-radius:99px;width:100%;height:3px}.page-slider::-webkit-slider-thumb{appearance:none;background:#51715a;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #51715a}.page-slider::-moz-range-thumb{background:#51715a;border:2px solid #fff;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #51715a}.control-buttons{gap:7px;display:flex}.control-button{color:#555e56;cursor:pointer;min-height:34px;font:inherit;background:#fff;border:1px solid #e9e9e3;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:11px;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.control-button:hover:not(:disabled){background:#f7f8f5;border-color:#cdd7cc}.control-button:disabled{opacity:.42;cursor:default}.next-button{color:#fff;background:#294d3d;border-color:#294d3d}.next-button:hover:not(:disabled){color:#fff;background:#203f31;border-color:#203f31}.page-footer{color:#999b94;justify-content:center;padding:18px 0 0;font-size:11px;display:flex}@media (width<=900px){.topbar{padding-inline:clamp(16px,4vw,32px)}.main-content{width:min(100% - 32px,640px);padding-top:clamp(30px,6vw,48px)}.dashboard-heading{flex-direction:column;align-items:flex-start;gap:15px}.dashboard-heading .primary-button{width:100%}.dashboard-heading-actions{flex-direction:column;width:100%}.dashboard-heading-actions .secondary-button{width:100%}.user-management-main,.super-admin-main{width:min(100% - 32px,640px)}.super-admin-stats,.super-admin-actions{grid-template-columns:1fr}.super-admin-action-card:last-child{grid-column:auto}.user-invite-fields{grid-template-columns:1fr}.user-invite-fields .primary-button{width:100%}.book-list-item{flex-wrap:wrap;align-items:flex-start}.book-list-info{flex:100%}.book-list-actions{flex-wrap:wrap;justify-content:flex-end;gap:2px;width:100%}}@media (width<=680px){.shared-reader-main{width:min(100% - 18px,560px);padding-top:12px}.book-intro{border-radius:19px;min-height:min(700px,100dvh - 34px);padding:28px 19px 25px}.book-intro-copy{margin-bottom:24px}.book-intro-copy p{font-size:13px}.book-intro-cover-wrap{width:min(230px,64vw);margin-bottom:24px}.book-intro-cover{max-height:36vh}.book-intro-bow{width:80px;height:52px;top:-23px}.reader-welcome{border-radius:12px;gap:10px;min-height:66px;margin-bottom:11px;padding:0 13px}.reader-welcome-kitty{width:38px;height:49px}.reader-welcome span{font-size:8px}.reader-welcome p{font-size:13px}.reader-welcome-bow{width:43px;height:37px}.topbar{height:65px;padding:0 21px}.topbar-note{font-size:11px}.topbar-right{gap:8px}.topbar-right .status-dot{display:none}.signout-button{padding:6px;font-size:0}.signout-button svg{width:16px;height:16px}.main-content{width:min(100% - 32px,560px);padding-top:45px}.intro{margin-bottom:27px}.intro h1{font-size:clamp(36px,9vw,48px)}.intro-copy{max-width:420px;font-size:13px}.upload-card{min-height:335px;padding-inline:20px}.upload-card h2{font-size:20px}.metadata-editor,.book-catalog{padding:17px}.dashboard-heading{flex-direction:column;align-items:flex-start;gap:15px}.dashboard-heading .primary-button{width:100%}.back-to-library{margin-top:-17px}.modal-backdrop{align-items:end;padding:12px}.edit-book-modal{border-radius:14px 14px 10px 10px;max-height:calc(100vh - 24px);padding:19px}.metadata-form-grid{grid-template-columns:minmax(0,1fr)}.metadata-description{grid-column:auto}.book-list-item{flex-wrap:wrap;align-items:flex-start}.book-list-info{flex:100%}.book-list-actions{justify-content:flex-end;gap:1px;width:100%}.book-list-actions .catalog-open-link{min-height:32px;padding:0 8px}.catalog-action{width:30px;height:32px}.share-link-row{flex-direction:column;align-items:flex-start}.share-link-row a{width:100%}.share-actions{align-self:flex-end}.qr-modal{padding:20px}.reader-toolbar{min-height:63px;padding:0 13px}.document-name{max-width:35vw}.preview-badge{text-overflow:ellipsis;max-width:90px;margin-left:7px;overflow:hidden}.toolbar-actions{gap:1px}.save-book-button{text-overflow:ellipsis;max-width:125px;padding-inline:8px;font-size:10px;overflow:hidden}.icon-button{width:32px;height:32px}.book-stage{min-height:290px;padding:20px 12px}.reader-card-shared .book-stage{min-height:68vh}.book-stage:fullscreen{padding:8px}.page-arrow{display:none}.reader-card-shared .stage-stickers img{opacity:.1}.stage-sticker-a,.stage-sticker-d,.stage-sticker-f{width:55px}.stage-sticker-b,.stage-sticker-c,.stage-sticker-e,.stage-sticker-g,.stage-sticker-h,.stage-sticker-i,.stage-sticker-j,.stage-sticker-k,.stage-sticker-l{width:42px}.pdf-document{min-height:240px}.page-arrow{width:32px;height:32px}.page-arrow-left{left:10px}.page-arrow-right{right:10px}.reader-controls{grid-template-columns:54px minmax(50px,1fr);gap:13px;padding:15px 15px 16px}.control-buttons{grid-column:1/-1;justify-content:space-between}.control-button{flex:1;min-height:37px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reader-auth-card{background:#ffffffd6;border:1px solid #f4cfdae6;border-radius:22px;width:min(100%,440px);margin:clamp(35px,9vh,86px) auto;padding:clamp(27px,6vw,42px);box-shadow:0 22px 60px #9353671a}.reader-auth-icon{color:#b44d6d;background:#fbe8ed;border-radius:50%;place-items:center;width:46px;height:46px;margin:0 auto 17px;display:grid}.reader-auth-card>.book-intro-eyebrow,.reader-library-heading>.book-intro-eyebrow{text-align:center;display:block}.reader-auth-card h1,.reader-library-heading h1{color:#583f49;font-family:var(--font-display);text-align:center;margin:9px 0;font-size:clamp(25px,5vw,32px);font-weight:600}.reader-auth-copy,.reader-library-heading>p:last-child{color:#8c737d;text-align:center;margin:0 auto 25px;font-size:14px;line-height:1.6}.reader-auth-form{gap:9px;display:grid}.reader-auth-form label{color:#634c55;margin-top:5px;font-size:12px;font-weight:650}.reader-auth-form input{color:#463941;background:#fff;border:1px solid #ead5dc;border-radius:10px;outline:0;width:100%;min-height:45px;padding:0 13px}.reader-auth-form .password-input-wrap{width:100%}.reader-auth-form .password-input-wrap input{padding-right:42px}.reader-auth-form .password-visibility-button{color:#8b6d7d;width:22px;height:22px;right:12px}.reader-auth-form input:focus{border-color:#c34e73;box-shadow:0 0 0 3px #c34e731f}.reader-auth-resend{color:#a83e61;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;margin:11px auto 0;font-size:12px;text-decoration:underline;display:block}.reader-auth-resend svg{vertical-align:-2px;margin-right:4px}.reader-auth-resend:hover{color:#7d2d49}.reader-auth-resend:disabled{color:#aaa0a2;cursor:wait}.reader-auth-form .book-intro-open{width:100%;margin-top:12px}.reader-auth-form .book-intro-open:disabled,.book-intro-open:disabled{cursor:wait;opacity:.72;transform:none}.reader-auth-switch{color:#8c737d;text-align:center;margin:20px 0 0;font-size:12px}.reader-auth-switch button{color:#a83e61;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.reader-auth-message{color:#426f53;margin:4px 0;font-size:12px;line-height:1.5}.reader-library-main{padding-top:clamp(30px,6vh,60px)}.reader-library-backlink{color:#a44f69;align-items:center;margin:0 0 18px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.reader-library-backlink:hover{color:#79384d;text-decoration:underline}.reader-library-heading{text-align:center;margin-bottom:28px}.reader-library-heading .reader-auth-icon{margin-bottom:13px}.reader-library-heading h1{margin-bottom:7px}.reader-library-heading>p:last-child{margin-bottom:0}.reader-library-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:17px;margin:0;padding:0;list-style:none;display:grid}.reader-library-card{background:#ffffffd1;border:1px solid #f4cfdae6;border-radius:17px;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:17px;min-width:0;padding:15px;display:grid;box-shadow:0 12px 28px #93536712}.reader-library-cover{aspect-ratio:.72;background:#f6e1e7;border-radius:7px;overflow:hidden;box-shadow:0 8px 18px #6b465326}.reader-library-cover img{object-fit:cover;width:100%;height:100%;display:block}.reader-library-cover-fallback{color:#b45e78;background:linear-gradient(145deg,#f5d9e1,#fff5f7 62%,#f0cad6);place-items:center;height:100%;display:grid}.reader-library-card-copy{min-width:0}.reader-library-card-copy>a{color:inherit;text-decoration:none}.reader-library-card-copy h2{color:#583f49;font-family:var(--font-display);margin:0;font-size:17px;line-height:1.35}.reader-library-card-copy>p{color:#8c737d;margin:7px 0 15px;font-size:12px;line-height:1.45}.reader-library-card-actions{align-items:center;gap:9px;display:flex}.reader-library-card-actions .book-intro-open{min-height:38px;padding-inline:17px;font-size:12px;text-decoration:none}.reader-library-remove{color:#a34b66;cursor:pointer;background:#fff;border:1px solid #f1dbe2;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.reader-library-remove:disabled{cursor:wait}.reader-library-empty{text-align:center;background:#ffffffb8;border:1px solid #f4cfdae6;border-radius:20px;margin:0 auto;padding:35px 22px}.reader-library-empty .reader-auth-icon{margin-bottom:15px}.reader-library-empty h2{color:#583f49;font-family:var(--font-display);margin:0 0 8px}.reader-library-empty p{color:#8c737d;margin:0;font-size:13px;line-height:1.55}.reader-save-book{text-align:center;width:min(100%,350px);margin:0 0 25px}.reader-save-book p,.reader-save-status{color:#8c737d;margin:0 0 12px;font-size:12px;line-height:1.5}.reader-save-book .book-intro-open{min-height:43px;padding-inline:20px}.reader-save-status{text-align:center;margin:-10px 0 22px}@media (width<=520px){.reader-library-card{grid-template-columns:82px minmax(0,1fr);gap:13px;padding:12px}.reader-library-card-copy h2{font-size:15px}.reader-library-card-actions{gap:7px}.reader-library-card-actions .book-intro-open{padding-inline:12px;font-size:11px}}
