:root{color-scheme:light dark;--paper:#f4efe5;--paper-raised:#fffaf1;--ink:#242421;--muted:#6e6a61;--brand:#6d3d2e;--brand-deep:#4c291f;--line:#d9cdbd;--success:#3d684c;--danger:#9a382f;--shadow:0 24px 70px rgb(50 37 25/12%);--radius:1.25rem;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{margin:0;min-height:100vh;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 12% 5%,#fff9ec 0,transparent 34rem),var(--paper)}a{color:inherit}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #b87333;outline-offset:3px}h1,h2,p{margin-top:0}h1{max-width:18ch;font-size:clamp(2rem,5vw,4.8rem);line-height:.98;letter-spacing:-.035em}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:500}.eyebrow{color:var(--brand);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.lede{max-width:56ch;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65}.lede,.muted{color:var(--muted)}.auth-shell,.centered-state,.landing-shell{min-height:100svh;display:grid;place-items:center;padding:max(1.25rem,var(--safe-top)) 1.25rem max(1.25rem,var(--safe-bottom))}.landing-card{width:min(100%,72rem);padding:clamp(2rem,8vw,7rem);border:1px solid var(--line);border-radius:calc(var(--radius) * 1.4);background:rgb(255 250 241/88%);box-shadow:var(--shadow)}.landing-card h1{margin-bottom:1.5rem}.auth-card{width:min(100%,31rem);display:grid;gap:2rem;padding:clamp(1.5rem,5vw,3rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--shadow)}.auth-card h1{font-size:clamp(2rem,8vw,3.2rem)}.centered-state{align-content:center;justify-items:start;max-width:45rem;margin-inline:auto}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 1rem}.button,.text-button{min-height:44px;border-radius:999px;cursor:pointer;font-weight:750}.button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.2rem;border:1px solid transparent;text-decoration:none}.button-primary{color:white;background:var(--brand)}.button-primary:hover{background:var(--brand-deep)}.button-secondary{color:var(--brand);border-color:var(--line);background:transparent}.button:disabled,.text-button:disabled{cursor:wait;opacity:.58}.text-button{padding:.5rem .75rem;border:0;color:var(--brand);background:transparent}.form-stack{display:grid;gap:1rem}label{display:grid;gap:.45rem;color:var(--muted);font-size:.875rem;font-weight:700}input,select,textarea{width:100%;min-height:48px;padding:.75rem .9rem;border:1px solid var(--line);border-radius:.7rem;color:var(--ink);background:color-mix(in srgb,var(--paper-raised) 90%,white)}textarea{min-height:8rem;resize:vertical}.form-error{padding:.8rem;border-left:3px solid var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.success-note{padding:.8rem;border-left:3px solid var(--success);color:var(--success)}.divider{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.75rem;text-transform:uppercase}.divider:after,.divider:before{height:1px;flex:1;background:var(--line);content:""}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;transform:translateY(-160%);padding:.7rem 1rem;border-radius:.5rem;color:white;background:var(--brand)}.skip-link:focus{transform:none}.app-shell{min-height:100svh}.app-header{position:sticky;z-index:20;top:0;min-height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:max(1rem,var(--safe-top)) clamp(1rem,4vw,3rem) 1rem;border-bottom:1px solid rgb(109 61 46/15%);background:rgb(244 239 229/90%);backdrop-filter:blur(18px)}.wordmark{display:inline-flex;align-items:center;gap:.6rem;font-family:Georgia,serif;font-size:1.25rem;font-weight:700;text-decoration:none}.wordmark span{width:2rem;aspect-ratio:1;display:grid;place-items:center;border-radius:.55rem;color:white;background:var(--brand)}.app-header nav{display:flex;justify-content:center;gap:.3rem}.app-header nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 .8rem;border-radius:999px;text-decoration:none}.app-header nav a:hover{background:rgb(109 61 46/8%)}.account-actions{display:flex;align-items:center;gap:.5rem}.account-email{max-width:15rem;overflow:hidden;color:var(--muted);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.app-content{width:min(100%,86rem);margin:0 auto;padding:clamp(2rem,6vw,6rem) clamp(1rem,4vw,3rem) calc(6rem + var(--safe-bottom))}.content-panel{min-width:0}.content-panel.narrow{max-width:42rem}.placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3rem}.placeholder-grid article{min-width:0;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 250 241/72%)}.placeholder-grid article>span{color:var(--brand);font-family:Georgia,serif;font-size:2rem}.placeholder-grid h2{margin:2rem 0 .5rem}.placeholder-grid p{color:var(--muted)}.detail-list,.detail-list div{display:grid;gap:1rem}.detail-list div{grid-template-columns:7rem minmax(0,1fr);padding:1rem 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{min-width:0;margin:0;overflow-wrap:anywhere}.mobile-nav{display:none}.connection-status{position:fixed;z-index:120;top:calc(.65rem + var(--safe-top));left:50%;max-width:min(92vw,44rem);display:flex;align-items:center;gap:.75rem;transform:translateX(-50%);padding:.65rem .75rem .65rem 1rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--paper-raised);box-shadow:var(--shadow);font-size:.82rem}.connection-status.is-offline{border-color:#b87333}.connection-status button{min-height:36px;padding:.35rem .7rem;border:0;border-radius:999px;color:white;background:var(--brand);font-weight:750;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.job-table-wrap{overflow-x:auto;margin-top:2rem;border:1px solid var(--line);border-radius:1rem;background:rgb(255 250 241/68%)}.job-table{width:100%;border-collapse:collapse;font-size:.875rem}.job-table td,.job-table th{padding:.8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.job-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase}.job-error,.job-table code{overflow-wrap:anywhere}.job-status{display:inline-block;padding:.2rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 14%,transparent);font-weight:750}.job-status-succeeded{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.job-status-failed{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.job-retry{display:grid;justify-items:start}.job-retry small{color:var(--danger)}.section-heading{margin-top:2.5rem}.library-page{min-width:0}.library-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.library-heading h1{margin-bottom:0}.library-toolbar{display:grid;grid-template-columns:minmax(13rem,2fr) repeat(3,minmax(8.5rem,1fr)) auto auto auto;align-items:end;gap:.75rem;margin:2rem 0 1rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:rgb(255 250 241/68%)}.check-label{min-height:48px;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.check-label input{width:1.1rem;min-height:auto;height:1.1rem;accent-color:var(--brand)}.view-switch{width:fit-content;display:flex;gap:.2rem;margin:0 0 1.5rem auto;padding:.25rem;border:1px solid var(--line);border-radius:999px}.view-switch a{min-height:42px;display:grid;place-items:center;padding:0 1rem;border-radius:999px;color:var(--muted);text-decoration:none}.view-switch a.active{color:white;background:var(--brand)}.book-collection{min-width:0;display:grid;gap:1.1rem}.view-shelf{position:relative;padding:1rem 1rem 3.5rem;border-radius:1.2rem;background:linear-gradient(180deg,transparent calc(100% - 3.5rem),#6d3d2e calc(100% - 3.5rem),#4c291f)}.view-grid,.view-shelf{grid-template-columns:repeat(5,minmax(0,1fr))}.book-card{min-width:0;display:flex;flex-direction:column;gap:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper-raised);box-shadow:0 10px 30px rgb(50 37 25/8%)}.view-shelf .book-card{cursor:grab;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem;transform-origin:bottom}.view-shelf .book-card:nth-child(3n+2){transform:rotate(.35deg)}.view-shelf .book-card:nth-child(4n+1){transform:rotate(-.3deg)}.book-cover{position:relative;width:100%;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;border-radius:.45rem;color:#fff9ec;background:linear-gradient(145deg,var(--brand),var(--brand-deep));box-shadow:inset -10px 0 16px rgb(0 0 0/12%)}.book-cover img{object-fit:cover}.book-cover>span{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5rem)}.book-copy{min-width:0}.book-copy h2{margin:.55rem 0 .25rem;overflow-wrap:anywhere;font-size:1.05rem;line-height:1.15}.book-copy p{margin-bottom:.25rem;overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.book-copy p,.book-copy small{color:var(--muted)}.book-flags{min-height:1.35rem;display:flex;flex-wrap:wrap;gap:.3rem}.book-flags span{padding:.2rem .4rem;border-radius:999px;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);font-size:.62rem;font-weight:800;text-transform:uppercase}.book-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;margin-top:auto}.book-actions .button{min-height:40px;padding:.55rem .75rem;font-size:.78rem}.danger{color:var(--danger)}.rank-actions{display:flex;margin-left:auto}.rank-actions button{width:40px;height:40px;border:0;border-radius:999px;color:var(--brand);background:transparent}.view-list{gap:.5rem}.view-list .book-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;padding:.65rem}.view-list .book-cover{width:64px}.view-list .book-copy h2{font-size:1rem}.view-list .book-actions{margin-top:0}.empty-library{min-height:22rem;display:grid;place-content:center;justify-items:center;padding:2rem;border:1px dashed var(--line);border-radius:var(--radius);text-align:center}.empty-library>span{color:var(--brand);font-size:4rem}.empty-library p{max-width:34rem;color:var(--muted)}.collection-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:1rem;background:rgb(255 250 241/54%)}.collection-summary>div{display:grid;gap:.2rem}.collection-summary span{color:var(--muted);font-size:.8rem}.collection-sheet{width:min(100%,38rem)}.collection-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem;margin-top:1.5rem}.collection-list{display:grid;gap:.55rem;margin:1.2rem 0 0;padding:0;list-style:none}.collection-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,auto) auto auto;align-items:center;gap:.35rem;padding:.65rem;border:1px solid var(--line);border-radius:.8rem}.collection-list li>div{min-width:0;display:grid;gap:.2rem}.collection-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-list span{color:var(--muted);font-size:.75rem}.collection-list .collection-delete-warning{color:var(--danger);font-weight:700}.collection-rename input{min-height:44px}.collection-checklist{display:grid;gap:.4rem;margin-top:1.25rem}.collection-checklist .check-label{padding:.65rem .75rem;border:1px solid var(--line);border-radius:.75rem}.modal-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:1rem;background:rgb(14 13 12/62%);backdrop-filter:blur(8px)}.editor-sheet{width:min(100%,46rem);max-height:min(90svh,55rem);overflow:auto;padding:clamp(1.2rem,4vw,2rem);border:1px solid var(--line);border-radius:1.2rem;background:var(--paper-raised);box-shadow:var(--shadow)}.editor-sheet>header{display:flex;justify-content:space-between;gap:1rem}.editor-sheet h2{margin-bottom:0}.editor-tabs{display:flex;gap:.3rem;margin:1rem 0;border-bottom:1px solid var(--line)}.editor-tabs button{min-height:44px;padding:.5rem 1rem;border:0;border-bottom:3px solid transparent;color:var(--muted);background:transparent}.editor-tabs button.active{border-color:var(--brand);color:var(--brand)}.field-grid{gap:.8rem}.cover-strategies,.field-grid{display:grid;grid-template-columns:1fr 1fr}.cover-strategies{gap:.7rem}.cover-choice{min-height:7rem;border:0;border-radius:.8rem;color:white;font-weight:800;cursor:pointer}.cover-choice.clay{background:#6d3d2e}.cover-choice.ocean{background:#173a4d}.cover-choice.forest{background:#244a3a}.cover-choice.ink{background:#202228}.crop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.upload-workspace{display:grid;gap:1.25rem;margin-top:2rem}.upload-fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.file-picker{min-height:13rem;place-content:center;justify-items:center;padding:2rem;border:2px dashed var(--line);border-radius:var(--radius);text-align:center;cursor:pointer}.file-picker:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,transparent)}.file-picker input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.file-picker-icon{color:var(--brand);font-size:3rem;font-weight:300}.file-picker span:last-of-type{color:var(--muted);font-weight:400}.upload-queue{display:grid;gap:.7rem}.upload-queue article{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--paper-raised)}.upload-queue article>div:first-child{display:flex;justify-content:space-between;gap:1rem}.upload-queue article span{color:var(--muted);font-size:.8rem}progress{width:100%;height:.6rem;accent-color:var(--brand)}.compact-actions{display:flex;flex-wrap:wrap;gap:.4rem}.duplicate-card{padding:1rem;border:1px solid #b87333;border-radius:1rem;background:color-mix(in srgb,#b87333 8%,var(--paper-raised))}.reader-shell{min-width:0}.reader-header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.reader-header h1{max-width:24ch;margin:.35rem 0 0;font-size:clamp(1.7rem,4vw,3rem)}.reader-header-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.65rem}.reader-back{color:var(--brand);font-size:.85rem;font-weight:800;text-decoration:none}.reader-ingestion,.reader-session-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.reader-ingestion span,.reader-session-summary span{padding:.35rem .6rem;border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,transparent);font-size:.72rem;font-weight:750}.reader-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,21rem);gap:1rem;align-items:start}.reader-main{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:#323432;box-shadow:var(--shadow)}.reader-main>.reader-ingestion{justify-content:flex-start;padding:.5rem;border-bottom:1px solid #505450;background:#292c2a}.reader-main>.reader-ingestion span{color:#ddd8cf;background:#3c403d}.reader-toolbar{position:sticky;z-index:5;top:72px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem;min-height:60px;padding:.5rem;border-bottom:1px solid #505450;color:#f7f3eb;background:rgb(35 38 36/94%);backdrop-filter:blur(14px)}.reader-toolbar button{min-width:44px;min-height:44px;padding:.45rem .7rem;border:1px solid #5c625d;border-radius:.65rem;color:inherit;background:#3c403d;cursor:pointer}.reader-toolbar button:disabled{cursor:not-allowed;opacity:.42}.reader-toolbar button[aria-pressed=true]{border-color:#d19b7f;background:#5b4034}.reader-toolbar form{display:flex;align-items:center;gap:.4rem}.reader-toolbar input{width:4.2rem;min-height:42px;padding:.35rem;border-color:#5c625d;color:#fff;background:#272a28;text-align:center}.reader-toolbar-divider{width:1px;height:32px;margin:0 .25rem;background:#5c625d}.reader-page-stage{position:relative;min-width:0;min-height:68svh;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:.75rem}.reader-page-stage canvas{display:block;max-width:none;background:white;box-shadow:0 10px 35px rgb(0 0 0/35%)}.reader-error,.reader-loading{position:absolute;z-index:3;inset:0;display:grid;place-content:center;justify-items:center;padding:2rem;color:#fff;background:rgb(28 30 29/78%);text-align:center}.reader-error p{max-width:34rem}.reader-error .button{color:#fff;border-color:#a9afa9}.reader-sidebar{min-width:0;display:grid;gap:1rem}.reader-mobile-tabs{display:none}.reader-preferences{position:relative}.reader-preferences-panel{position:absolute;z-index:12;top:calc(100% + .5rem);right:0;width:min(88vw,21rem);display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper-raised);box-shadow:var(--shadow)}.reader-preferences-panel fieldset{display:grid;gap:.8rem;margin:0;padding:0;border:0}.reader-preferences-panel input[type=range]{min-height:36px;padding:0;accent-color:var(--brand)}.reader-preferences-panel p{margin:0;font-size:.75rem}.reader-preferences-close{position:absolute;top:.35rem;right:.35rem;width:44px;min-height:44px;border:0;color:var(--brand);background:transparent;font-size:1.4rem;cursor:pointer}.reader-annotations,.reader-search{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper-raised)}.reader-search h2{margin-bottom:.8rem}.reader-annotations h2{margin-bottom:.9rem}.reader-annotations h3{margin:.8rem 0 .55rem;font-size:.9rem}.reader-annotations form,.reader-search form{display:grid;gap:.6rem}.reader-search-results{display:grid;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}.reader-search-results button{width:100%;display:grid;gap:.3rem;padding:.75rem;border:1px solid var(--line);border-radius:.7rem;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.reader-search-results button:hover{border-color:var(--brand)}.reader-search-results strong{color:var(--brand);font-size:.78rem}.reader-search-results span{color:var(--muted);font-size:.82rem;line-height:1.4}.reader-bookmark-list{display:grid;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}.reader-bookmark-list li{display:grid;grid-template-columns:minmax(0,1fr) 44px;border:1px solid var(--line);border-radius:.7rem;overflow:hidden}.reader-bookmark-list button{min-height:44px;border:0;color:var(--ink);background:transparent;cursor:pointer}.reader-bookmark-link{min-width:0;display:grid;gap:.2rem;padding:.65rem .75rem;text-align:left}.reader-bookmark-link span,.reader-bookmark-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-bookmark-link strong{color:var(--brand);font-size:.82rem}.reader-bookmark-link span{color:var(--muted);font-size:.75rem}.reader-bookmark-delete{border-left:1px solid var(--line)!important;font-size:1.2rem}.reader-bookmark-list button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.reader-highlight-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1.2rem;border-top:1px solid var(--line);padding-top:.35rem}.reader-highlight-heading span{min-width:1.7rem;padding:.2rem .4rem;border-radius:999px;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);font-size:.72rem;font-weight:800;text-align:center}.reader-annotation-list{display:grid;gap:.65rem;margin:.7rem 0 0;padding:0;list-style:none}.reader-annotation-list>li{overflow:hidden;border:1px solid var(--line);border-radius:.75rem}.reader-annotation-link{width:100%;min-height:44px;display:grid;gap:.3rem;padding:.75rem;border:0;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.reader-annotation-link:hover{background:color-mix(in srgb,#e4b94f 12%,transparent)}.reader-annotation-link strong{color:var(--brand);font-size:.78rem}.reader-annotation-link em,.reader-annotation-link span{overflow:hidden;display:-webkit-box;color:var(--muted);font-size:.82rem;font-style:normal;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:3}.reader-annotation-link em{color:var(--ink)}.reader-annotation-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.reader-annotation-actions button{min-height:44px;border:0;color:var(--brand);background:transparent;cursor:pointer}.reader-annotation-actions button+button{border-left:1px solid var(--line);color:#a33b32}.reader-note-editor{display:grid;gap:.6rem;padding:.75rem;border-top:1px solid var(--line)}.reader-note-editor label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.reader-note-editor textarea{resize:vertical}.highlight-composer{position:absolute;z-index:7;right:.75rem;bottom:.75rem;left:.75rem;display:grid;gap:.7rem;max-height:min(22rem,calc(100% - 1.5rem));overflow:auto;padding:.85rem;border:1px solid #6d6345;border-radius:.85rem;color:#fff8dc;background:rgb(55 51 40/97%);box-shadow:0 14px 38px rgb(0 0 0/38%)}.highlight-composer p{max-height:4.5em;overflow:auto;margin:0;font-family:Georgia,Times New Roman,serif;font-size:.9rem;line-height:1.5}.highlight-composer label{display:grid;gap:.35rem;font-size:.76rem;font-weight:800}.highlight-composer textarea{min-height:54px;resize:vertical}.selectable-reading-text{font-family:Georgia,Times New Roman,serif;font-size:var(--reader-font-size,18px);line-height:var(--reader-line-height,1.75);white-space:pre-wrap}.reader-highlight{padding:0;color:inherit;background:#ffe58a;box-decoration-break:clone;-webkit-box-decoration-break:clone}.reader-highlight-active{outline:2px solid #b66a25;background:#ffd35c}.epub-toolbar label,.normalized-toolbar label{min-width:min(28rem,58%);color:inherit}.epub-toolbar select,.normalized-toolbar select{min-height:44px;border-color:#5c625d;color:#fff;background:#272a28}.epub-reading-pane,.normalized-reading-pane{min-width:0;height:min(72svh,58rem);overflow:auto;padding:clamp(1.25rem,4vw,4rem);color:#2b2925;background:#fffdf7;scroll-behavior:smooth}.epub-reading-copy,.normalized-reading-copy{width:min(100%,var(--reader-content-width,44rem));margin-inline:auto;overflow-wrap:anywhere}.epub-reading-copy h2,.normalized-reading-copy h2{margin-bottom:2rem;font-size:clamp(1.75rem,4vw,2.7rem);line-height:1.1}.reader-theme-light{color:#242421;background:#fff}.reader-theme-sepia{color:#2b2925;background:#fff8e8}.reader-theme-dark{color:#ece7dc;background:#1d211f}.reader-theme-dark .reader-highlight{color:#242421}.image-document-stage{min-width:0;min-height:58svh;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:clamp(.5rem,2vw,1rem);background:#202321}.image-document-stage img{display:block;height:auto;object-fit:contain;background:#fff;box-shadow:0 10px 35px rgb(0 0 0/35%)}.image-document-fit{width:auto;max-width:100%;max-height:76svh}.image-document-zoomed{max-width:none;flex:0 0 auto}@media (max-width:760px){.app-header{grid-template-columns:auto 1fr;padding-inline:1rem}.account-email,.app-header>nav{display:none}.account-actions{justify-self:end}.placeholder-grid{grid-template-columns:1fr}.library-heading{align-items:center}.library-heading h1{font-size:2.4rem}.library-toolbar{grid-template-columns:1fr 1fr}.library-toolbar .search-field{grid-column:1/-1}.view-grid,.view-shelf{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:0}.view-shelf{padding:.5rem .5rem 3rem}.book-card{padding:.6rem}.book-actions .text-button{min-height:44px}.view-list .book-card{grid-template-columns:54px minmax(0,1fr)}.view-list .book-cover{width:54px}.view-list .book-actions{grid-column:1/-1}.editor-sheet{align-self:end;max-height:calc(94svh - var(--safe-bottom));padding-bottom:calc(1rem + var(--safe-bottom));border-radius:1.2rem 1.2rem 0 0}.field-grid,.upload-fields{grid-template-columns:1fr}.reader-header{align-items:stretch;flex-direction:column}.reader-header-actions{justify-content:space-between}.reader-preferences-panel{position:fixed;top:auto;right:.75rem;bottom:calc(5.5rem + var(--safe-bottom));left:.75rem;width:auto;max-height:70svh;overflow:auto}.reader-ingestion,.reader-session-summary{justify-content:flex-start}.reader-layout{grid-template-columns:1fr}.reader-mobile-tabs{position:sticky;z-index:9;top:72px;display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin-bottom:.75rem;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-raised)}.reader-mobile-tabs button{min-height:44px;border:0;border-radius:999px;color:var(--brand);background:transparent;font-weight:750;cursor:pointer}.reader-mobile-tabs button[aria-pressed=true]{color:white;background:var(--brand)}.reader-mobile-hidden{display:none}.reader-toolbar{top:72px}.reader-toolbar-divider{display:none}.reader-page-stage{min-height:58svh}.epub-toolbar label,.normalized-toolbar label{min-width:0;flex:1 1 12rem}.epub-toolbar>span,.normalized-toolbar>span{font-size:.78rem;white-space:nowrap}.epub-reading-pane,.normalized-reading-pane{height:62svh;padding:1.35rem 1rem calc(2rem + var(--safe-bottom))}.image-document-stage{min-height:52svh;padding:.5rem}.image-document-fit{max-height:64svh}.reader-sidebar{order:0}.collection-summary{align-items:stretch;flex-direction:column}.collection-create,.collection-list li{grid-template-columns:1fr}.crop-grid{grid-template-columns:1fr 1fr}.mobile-nav{position:fixed;z-index:30;right:.75rem;bottom:max(.75rem,var(--safe-bottom));left:.75rem;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:.4rem;border:1px solid var(--line);border-radius:1rem;background:rgb(255 250 241/94%);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.mobile-nav a{min-height:48px;display:grid;place-items:center;border-radius:.7rem;color:var(--brand);font-size:.8rem;font-weight:750;text-decoration:none}}@media (max-width:430px){.library-toolbar{grid-template-columns:1fr}.library-toolbar .search-field{grid-column:auto}.view-switch{width:100%}.view-switch a{flex:1}.connection-status{top:auto;right:.75rem;bottom:calc(5.5rem + var(--safe-bottom));left:.75rem;max-width:none;transform:none;border-radius:1rem}}@media (max-width:370px){.library-toolbar,.view-grid,.view-shelf{grid-template-columns:1fr}.library-toolbar .search-field{grid-column:auto}.cover-strategies{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){:root{--paper:#171a19;--paper-raised:#202421;--ink:#f2eee5;--muted:#b9b5ac;--brand:#d19b7f;--brand-deep:#edb89c;--line:#3c423e;--shadow:0 24px 70px rgb(0 0 0/32%)}body{background:radial-gradient(circle at 12% 5%,#262b27 0,transparent 34rem),var(--paper)}.button-primary{color:#211b18}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}