/* Native reader UI, preserving the library's cool white / navy / lake teal palette. */
.paper-field{min-width:0;margin:8px 0 4px;padding:16px;border:1px solid var(--line);border-radius:12px}
.paper-field legend{padding:0 7px;font-weight:650;font-size:13px}.paper-field .help{font-size:12px;margin:12px 0}
.paper-upload-button{cursor:pointer;width:max-content}.paper-option{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.paper-option>label{display:flex;align-items:flex-start;gap:8px;font-size:12px!important;overflow-wrap:anywhere}.paper-option input[type=checkbox]{width:16px;min-height:16px;margin:2px 0;accent-color:var(--accent)}
.paper-option .paper-title-input{width:100%;margin-top:8px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px;background:#fff}
.secondary-actions a{white-space:nowrap}.card-actions{flex-wrap:wrap}.secondary-actions{flex-wrap:wrap}
/* Reader: a paper desk with Word-style anchored comments.
   4px spacing; existing library type/palette. TextLayer positioning below is
   adapted from Mozilla PDF.js 6.3.289 pdf_viewer.css (Apache-2.0). */
.paper-reader{--desk:#edf1f4;--reader-rule:#172b4614;--comment-yellow:#f9dc6f;--comment-blue:#80d2e2;--comment-rose:#edb0c7;background:var(--desk);height:100dvh;overflow:hidden}
.paper-reader .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reader-header{height:60px;display:flex;align-items:center;gap:24px;padding:0 24px;background:var(--white);border-bottom:1px solid var(--reader-rule)}
.reader-brand{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:750;white-space:nowrap}.reader-breadcrumb{display:flex;align-items:center;gap:12px;min-width:0;flex:1;font-size:12px;color:var(--muted)}.reader-breadcrumb>span:first-child{flex-shrink:0}.reader-breadcrumb h1{font-size:12px;letter-spacing:0;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-account{font-size:11px;color:var(--muted);white-space:nowrap}.reader-back{font-size:12px;white-space:nowrap;color:var(--accent)}
/* Override form defaults only within this reading surface. */
.paper-reader label,.paper-reader input,.paper-reader select,.paper-reader textarea{margin:0;min-width:0}.paper-reader select,.paper-reader input[type=number]{background:transparent;border:1px solid transparent;border-radius:6px;min-height:40px;padding:8px;color:var(--ink);font-size:12px}.paper-reader select:hover,.paper-reader input[type=number]:hover{background:var(--accent-soft)}
.reader-workspace{max-width:none;margin:0;padding:0;display:flex;height:calc(100dvh - 60px);min-height:0;position:relative}.document-pane{min-width:0;flex:1;display:flex;flex-direction:column}
.reader-toolbar{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 20px;border-bottom:1px solid var(--reader-rule);background:var(--white);flex-shrink:0}
#paper-select{flex:1;max-width:560px;width:0;font-weight:600;text-overflow:ellipsis}#zoom{width:104px;flex-shrink:0}.page-controls{display:flex;align-items:center;gap:0;white-space:nowrap;flex-shrink:0;padding:0 8px;border-inline:1px solid var(--reader-rule);font-variant-numeric:tabular-nums}.page-controls input{width:44px;text-align:center;appearance:textfield;-moz-appearance:textfield}.page-controls input::-webkit-inner-spin-button,.page-controls input::-webkit-outer-spin-button{appearance:none}.page-denominator{font-size:12px;color:var(--muted);padding-right:8px}
.reader-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.reader-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;min-height:40px;min-width:40px;border:0;border-radius:6px;background:transparent;font-size:12px;font-weight:550;white-space:nowrap}.reader-tool:hover{background:var(--accent-soft);color:var(--accent)}.reader-tool[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.reader-tool svg{width:18px;height:18px}.reader-tool.icon-only{padding:8px}.arrow-tool{font-size:18px;padding:8px}.reader-tool b{font-size:10px;min-width:18px;border-radius:4px;background:var(--desk);padding:2px 4px;font-variant-numeric:tabular-nums}.fullscreen-glyph{font-size:25px;line-height:18px}
.page-viewport{padding:28px 32px;overflow:auto;flex:1;min-height:0;position:relative;overscroll-behavior:contain;scrollbar-gutter:stable}.pdf-stage{position:relative;margin:0 auto;background:var(--white);box-shadow:0 0 0 1px var(--reader-rule),0 4px 16px #172b4610;isolation:isolate;--user-unit:1;--scale-round-x:1px;--scale-round-y:1px;--total-scale-factor:calc(var(--scale-factor) * var(--user-unit))}.pdf-stage canvas{display:block;width:100%;height:100%}.document-loading{min-height:100%;display:flex;justify-content:center;align-items:flex-start}
.textLayer{color-scheme:only light;position:absolute;text-align:initial;inset:0;overflow:clip;opacity:1;line-height:1;letter-spacing:normal;word-spacing:normal;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:1;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size))}
.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%;-webkit-user-select:text;user-select:text}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer ::selection{background:#08758d45}
.annotation-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.page-highlight{position:absolute;pointer-events:none;min-width:0;min-height:0;border-radius:1px;background:color-mix(in srgb,var(--comment-yellow) 45%,transparent);mix-blend-mode:multiply}.page-highlight.blue{background:color-mix(in srgb,var(--comment-blue) 45%,transparent)}.page-highlight.rose{background:color-mix(in srgb,var(--comment-rose) 45%,transparent)}.page-highlight.active{outline:1px solid var(--accent);background:color-mix(in srgb,var(--comment-yellow) 65%,transparent)}.page-highlight.legacy{outline:1px dashed var(--accent)}#pending-layer .page-highlight{outline:1px dashed var(--accent)}
.reader-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:32px;padding:6px 20px;background:var(--white);border-top:1px solid var(--reader-rule);font-size:10px;color:var(--muted);flex-shrink:0}.reader-footer p{line-height:1.6}.reader-footer .error{color:var(--danger)}.reader-private{display:flex;align-items:center;gap:4px;white-space:nowrap}.reader-private svg{width:12px;height:12px}
.personal-notes{width:304px;flex-shrink:0;border-left:1px solid var(--reader-rule);background:var(--desk);display:flex;flex-direction:column;min-height:0}.notes-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 16px 12px}.notes-heading h2{font-size:16px;letter-spacing:0;font-weight:700}.notes-heading h2 span{font-size:11px;font-weight:500;color:var(--muted);margin-left:4px}.notes-heading p{font-size:11px;color:var(--muted);margin-top:6px}.notes-filter{display:flex;align-items:center;justify-content:space-between;padding:0 16px 12px;gap:8px}.notes-filter select{max-width:128px}.note-list{padding:0 16px 24px;overflow:auto;flex:1;min-height:0}.notes-empty{color:var(--muted);font-size:12px;line-height:1.9;padding:32px 8px}.notes-empty svg{display:block;width:28px;height:28px;margin-bottom:12px;color:var(--accent)}
.saved-note{background:var(--white);border-radius:8px;box-shadow:0 0 0 1px var(--reader-rule);padding:16px;margin:4px 0 12px;position:relative;scroll-margin:12px}.saved-note.active{box-shadow:0 0 0 1.5px var(--accent)}.note-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px}.note-avatar{display:grid;place-items:center;width:28px;height:28px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:650;border-radius:50%;flex-shrink:0}.note-author{min-width:0;flex:1}.note-author b{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-author small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.note-anchor{border:0;padding:4px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:10px;white-space:nowrap}.note-anchor:hover{text-decoration:underline}.note-excerpt{display:block;width:100%;font-size:11px;line-height:1.6;color:var(--muted);border:0;border-left:2px solid var(--comment-yellow);padding:0 0 0 8px;text-align:left;background:transparent;overflow-wrap:anywhere;margin-bottom:12px}.note-excerpt.blue{border-color:var(--comment-blue)}.note-excerpt.rose{border-color:var(--comment-rose)}.note-excerpt:hover{color:var(--accent)}.saved-note>p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.saved-note-actions{display:flex;justify-content:flex-end;gap:4px;margin-top:8px}.saved-note-actions button{font-size:10px;min-height:32px;min-width:40px;background:transparent;border:0;padding:4px 8px;color:var(--muted);border-radius:4px}.saved-note-actions button:hover{color:var(--accent);background:var(--accent-soft)}.saved-note-actions [data-delete-note]:hover{color:var(--danger)}
.selection-menu{position:fixed;inset:auto;margin:0;padding:4px;border:0;border-radius:8px;background:var(--ink);color:var(--white);box-shadow:0 4px 16px #172b4620}.selection-action{display:flex;align-items:center;gap:6px;border:0;border-radius:4px;background:transparent;color:var(--white);padding:8px 12px;min-height:40px;font-size:12px}.selection-action:hover{background:#ffffff18}.selection-action svg{width:17px;height:17px}
.paper-reader .note-composer{position:fixed;inset:auto;margin:0;padding:20px;width:352px;max-width:calc(100dvw - 24px);max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:12px;background:var(--white);box-shadow:0 0 0 1px var(--reader-rule),0 12px 40px #172b4626}.note-composer::backdrop{background:#172b4608}.composer-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.composer-heading span{font-size:10px;color:var(--muted)}.composer-heading h2{font-size:16px;letter-spacing:0;margin-top:4px}.note-composer blockquote{margin:0 0 12px;padding:8px 12px;border-left:2px solid var(--accent);background:var(--accent-soft);font-size:11px;line-height:1.7;color:var(--muted);max-height:96px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.paper-reader .note-composer textarea{display:block;width:100%;border:1px solid var(--reader-rule);background:var(--paper);padding:12px;border-radius:8px;font-size:13px;line-height:1.7;min-height:112px;resize:vertical}.composer-actions{display:flex;align-items:center;gap:8px;margin-top:16px}.note-colors{border:0;padding:0;margin:0;display:flex;gap:4px}.paper-reader .color-choice{display:flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer}.color-choice input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;margin:0!important;padding:0!important;border:2px solid var(--white);background:var(--comment-yellow);cursor:pointer;outline:1px solid var(--reader-rule)}.color-choice.blue input{background:var(--comment-blue)}.color-choice.rose input{background:var(--comment-rose)}.color-choice input:checked{outline:2px solid var(--accent);outline-offset:1px}.composer-private{font-size:10px;color:var(--muted);margin-right:auto}.note-composer #note-status{font-size:11px;color:var(--danger);line-height:1.6;margin-top:8px}.note-composer #note-status:empty{display:none}
.reader-workspace:fullscreen{height:100dvh;background:var(--desk)}
@media(min-width:1600px){.page-viewport{padding:32px 56px}}
@media(max-width:1150px){.reader-toolbar{gap:8px;padding-inline:12px}.reader-actions{gap:0}.reader-actions .reader-tool{padding-inline:8px}#add-note span{display:none}.reader-private{display:none}.reader-header{gap:16px}.page-viewport{padding:24px}}
@media(max-width:900px){.personal-notes{position:absolute;right:12px;top:68px;bottom:44px;width:304px;max-width:calc(100% - 24px);z-index:4;border:1px solid var(--reader-rule);border-radius:12px;box-shadow:0 8px 32px #172b461a}.reader-account{display:none}.reader-breadcrumb>span{display:none}.reader-header{padding-inline:16px}.page-viewport{padding:20px}.reader-footer{padding-inline:12px}}
@media(max-width:600px){.reader-header{height:52px;gap:12px}.reader-brand{font-size:18px}.reader-brand img{width:24px;height:24px}.reader-back{font-size:11px}.reader-breadcrumb h1{font-size:11px}.reader-workspace{height:calc(100dvh - 52px)}.reader-toolbar{flex-wrap:wrap;gap:4px;padding:4px 8px}.paper-reader #paper-select{flex:1 0 100%;width:100%;max-width:none;min-height:40px;border-bottom:1px solid var(--reader-rule);border-radius:0;margin-bottom:4px;font-size:11px}.page-controls{border:0;padding:0;gap:0}.page-controls input{width:32px}.reader-tool{min-width:40px;padding:8px}.page-denominator{padding-right:2px}.reader-actions{margin-left:auto}.reader-actions #toggle-notes span{display:none}#zoom{width:84px;padding:6px;font-size:11px}.reader-actions #toggle-notes b{display:none}.page-viewport{padding:16px 12px}.reader-footer{min-height:36px;font-size:10px}.personal-notes{top:104px;bottom:44px}.paper-reader .note-composer{width:calc(100dvw - 24px);max-height:calc(100dvh - 24px);padding:16px}.composer-private{display:none}.composer-actions #save-note{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.paper-reader{scroll-behavior:auto}}
@media(forced-colors:active){.page-highlight{outline:1px solid Highlight}.saved-note.active{outline:2px solid Highlight}.textLayer ::selection{background:Highlight}.color-choice input:checked{outline:2px solid Highlight}}

.reader-more{position:relative}.reader-more summary{list-style:none;font-size:22px;line-height:20px;cursor:pointer}.reader-more summary::-webkit-details-marker{display:none}.reader-more-menu{position:absolute;right:0;top:44px;z-index:5;width:160px;padding:4px;background:var(--white);border-radius:8px;box-shadow:0 0 0 1px var(--reader-rule),0 4px 16px #172b4618}.reader-more-menu .reader-tool{display:flex;width:100%;justify-content:flex-start}.reader-more-menu .fullscreen-glyph{width:18px;text-align:center}
.textLayer[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}.textLayer[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}.textLayer[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}
@media(max-width:380px){#zoom{width:70px}.reader-toolbar{gap:2px}.reader-breadcrumb{display:none}.reader-header .reader-back{margin-left:auto}}

/* Load feedback sits below the banner, without moving the reading layout. */
.reader-load-progress{position:absolute;inset:0 0 auto;height:3px;z-index:6;overflow:hidden;background:var(--accent-soft);pointer-events:none;opacity:1;transition:opacity 160ms ease-out}
.reader-load-fill{width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease-out}
.reader-load-progress.indeterminate .reader-load-fill{width:32%;animation:reader-load-sweep 1.25s ease-in-out infinite}
.reader-load-progress.finishing{opacity:0}
@keyframes reader-load-sweep{from{transform:translateX(-100%)}to{transform:translateX(420%)}}
.skeleton-page{position:relative;overflow:hidden;width:min(100%,800px);aspect-ratio:612/792;padding:clamp(24px,5vw,64px);background:var(--white);box-shadow:0 0 0 1px var(--reader-rule),0 4px 16px #172b4610;flex-shrink:0;user-select:none}
.skeleton-page::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffffa6 50%,transparent 70%);transform:translateX(-100%);animation:reader-paper-shimmer 1.8s ease-in-out infinite;pointer-events:none}
.skeleton-line{display:block;height:8px;margin:0 0 12px;border-radius:3px;background:var(--desk)}
.skeleton-title{margin:12px auto 24px;max-width:88%}.skeleton-title .skeleton-line{height:18px;margin:0 auto 12px}.skeleton-title .skeleton-line:last-child{width:74%}
.skeleton-authors{width:52%;margin:0 auto 40px}.skeleton-authors .skeleton-line{height:10px}
.skeleton-abstract{margin-bottom:32px}.skeleton-abstract .skeleton-line:first-child{height:12px;width:22%;margin-bottom:16px}.skeleton-abstract .skeleton-line:last-child{width:76%}
.skeleton-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.skeleton-column .skeleton-line:nth-child(6n){width:68%}.skeleton-column .skeleton-line:nth-child(6n + 1){width:42%;height:11px;margin-top:24px}.skeleton-column .skeleton-line:first-child{margin-top:0}
@keyframes reader-paper-shimmer{to{transform:translateX(100%)}}
@media(max-width:600px){.skeleton-page{padding:24px 20px}.skeleton-title{margin-top:8px;margin-bottom:16px}.skeleton-title .skeleton-line{height:12px;margin-bottom:8px}.skeleton-authors{margin-bottom:24px}.skeleton-abstract{margin-bottom:20px}.skeleton-columns{gap:16px}.skeleton-line{height:5px;margin-bottom:8px}.skeleton-abstract .skeleton-line:first-child{height:8px}.skeleton-column .skeleton-line:nth-child(6n + 1){height:7px;margin-top:16px}}
@media(prefers-reduced-motion:reduce){.skeleton-page::after{animation:none;display:none}.reader-load-progress.indeterminate .reader-load-fill{animation:none;transform:none}.reader-load-fill,.reader-load-progress{transition:none}}

/* Personal reading entry and account bookmark use the existing toolbar system. */
.paper-reader .reader-toolbar .reader-bookmark[aria-pressed=true]{background:#fff0eb;color:#b92d20;border-color:#d9a49b}
.reader-position{font-size:10px;color:#71756b;margin-left:auto;white-space:nowrap}
@media(max-width:1023px){.reader-reading-link{display:none}.reader-position{font-size:9px}}
@media(max-width:767px){.reader-position{white-space:normal;text-align:right;max-width:110px}.reader-footer .reader-private{display:none}}
