/* One visual language; the document owns the reading surface. */
:root{--reader-accent:#14665a;--reader-chrome:var(--panel);--reader-chrome-ink:var(--ink)}
:root[data-theme=dark]{--reader-accent:#316e5f}
body:has(#readerView:not([hidden])){background:var(--bg)}
body:has(#readerView:not([hidden])) .appbar{background:var(--panel);border-color:var(--line);color:var(--ink)}
body:has(#readerView:not([hidden])) .appbar :is(#accountBtn,#supportBtn,#globalSearchBtn,.theme-toggle){background:var(--panel);border-color:var(--line);color:var(--ink)}
#readerView{padding-top:6px}
#readerView>.reader-top,#readerView>.reader-kicker,#readerView>#docTitle,#readerView>.reader-sub,#readerView>.reader-progress,#readerView>#readerReadingTime,#readerView>.reader-place{display:none}
.reader-command-bar{display:flex;align-items:center;gap:8px;max-width:1100px;margin:0 auto 14px;padding:8px 0 12px;border-bottom:1px solid var(--line)}
.reader-command-bar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;font:600 13px 'IBM Plex Sans',sans-serif;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:10px;cursor:pointer;white-space:nowrap}
.reader-command-bar button:hover{background:var(--panel2);border-color:var(--line)}
.reader-command-bar #backBtn{margin-right:auto;color:var(--muted);padding-left:2px}
#readerView .reader-command-bar #readerVocabularyBtn{display:inline-flex!important;margin:0}
.reader-command-bar .reader-tools-trigger{border-color:var(--line);background:var(--panel)}
.reading-title-bar{flex-wrap:wrap;gap:5px 14px;min-height:60px;padding:10px 24px;background:var(--panel);border-color:var(--line);box-shadow:0 2px 8px #00000005}
.reading-title-label{display:none}
#pinnedDocTitle{font:600 19px/1.35 Spectral,Georgia,serif;letter-spacing:-.01em}
.reading-title-bar .pdf-page-badge{font:12px/1.4 'IBM Plex Sans',sans-serif;color:var(--muted);white-space:nowrap}
.reading-title-bar .workspace-status{flex-basis:100%;font-size:11px;padding:0;gap:6px;line-height:1.35;color:var(--muted)}
.reading-title-bar .workspace-status button{padding:0 4px;min-height:26px}
#readerView.pdf-mode{color:var(--ink)}
#readerView.pdf-mode #pdfScroll{max-width:860px;margin:0 auto 24px;gap:12px}
#readerView .reader-rail{overflow-y:auto;background:var(--panel);border-color:var(--line);color:var(--ink)}
#readerView .reader-rail button{color:var(--ink);font-size:14px;font-weight:550}
#readerView .reader-rail .rail-title{color:var(--ink)}
#readerView .reader-rail button:hover,#readerView .reader-rail button[aria-current=page]{background:var(--panel2);color:var(--ink)}
#readerView .reader-rail .rail-add{background:var(--reader-accent);color:#fff}
#readerView .reader-rail .rail-add:hover{background:var(--reader-accent);filter:brightness(1.1);color:#fff}
#readerView .reader-rail .reader-support-action{background:var(--panel2);border-color:var(--line);color:var(--ink)}
#readerView .reader-rail .rail-progress-label,#readerView .reader-rail .rail-time,#readerView .reader-rail .rail-help{color:var(--muted)}
#readerView .reader-rail .rail-progress-track{background:var(--line)}
#readerView .reader-rail .rail-progress-track span{background:var(--teal)}
body:has(#readerView:not([hidden])) #readerView .reader-rail{top:calc(var(--appbar-height,58px) + var(--reader-title-height,60px))!important}
#readerView #playBtn,#readerView.pdf-mode #playBtn{background:var(--reader-accent);border-color:var(--reader-accent);color:#fff;box-shadow:none}
#readerView .controls,#readerView.pdf-mode .controls{background:var(--panel);border-color:var(--line);color:var(--ink);box-shadow:0 8px 32px #0002;border-radius:24px}
#readerView #stopBtn,#readerView.pdf-mode #stopBtn,#readerView .controls select,#readerView.pdf-mode .controls select{background:var(--panel2);border-color:var(--line);color:var(--ink)}
#readerView .controls .player-more,#readerView.pdf-mode .controls .player-more{background:var(--panel);border-color:var(--line);color:var(--ink)}
#readerActionsDialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);box-shadow:0 20px 90px #0005}
#readerActionsDialog[open]{display:flex;flex-direction:column;overflow:hidden}
#readerActionsDialog::backdrop{background:#071c18aa;backdrop-filter:blur(3px)}
.reader-actions-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);flex:none}
.reader-actions-head h2{margin:0;font:600 22px/1.3 Spectral,Georgia,serif}
.reader-actions-body{padding:18px 22px;overflow-y:auto;min-height:0}
.reader-actions-body>.reader-place{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.reader-actions-body>.reader-folder{display:flex;gap:12px;align-items:center;margin:16px 0}
.reader-actions-body>#docMeta{display:block!important;font-size:13px;line-height:1.6;margin:12px 0;color:var(--muted)}
.reader-actions-body>.reading-time{display:flex!important;font-size:12px}
#readerActionsDialog .reader-details{position:static!important;display:block!important;width:100%!important;max-height:none;overflow:visible;margin:14px 0;box-shadow:none;border-color:var(--line);color:var(--ink);background:var(--panel)}
#readerActionsDialog .reader-details>summary{color:var(--ink);font-size:14px}
#readerActionsDialog .reader-details-content{background:var(--panel);color:var(--ink);padding:16px;--panel:inherit;--panel2:inherit;--ink:inherit;--muted:inherit;--line:inherit;--teal:inherit}
#readerActionsDialog .pdf-original-toggle{display:flex;flex-wrap:wrap;margin:16px 0;gap:8px}
#readerActionsDialog .pdf-original-toggle[hidden]{display:none}
#readerActionsDialog .pdf-original-toggle .ctl-btn[aria-pressed=true]{background:var(--reader-accent);border-color:var(--reader-accent);color:#fff}
#readerActionsDialog .ctl-btn,#readerActionsDialog .ws-button{min-height:44px;border-radius:10px;font-size:14px}
#readerActionsDialog .highlight-quick[open] .highlight-quick-list{position:static;box-shadow:none;width:100%;max-height:260px}
#readerActionsDialog #exportAnnBtn,#readerActionsDialog #addCommentBtn{margin:6px 8px 6px 0}
.reader-focus .reader-command-bar{display:none!important}
.reader-focus .reading-title-bar{padding-right:156px}
@media(min-width:980px){#readerView.pdf-mode{padding-top:10px}#readerView.pdf-mode .reader-command-bar .reader-quick-extra{display:none!important}#readerView.pdf-mode .reader-command-bar{margin-bottom:18px}#readerView.pdf-mode .reader-command-bar #backBtn{color:var(--muted)}}
@media(max-width:979px){.app-main:has(#readerView:not([hidden])){padding:10px 18px 150px;max-width:100%}#readerView.pdf-mode{padding-top:0}.reader-command-bar{gap:4px;padding:2px 0 10px}.reader-command-bar button{padding:8px 10px;font-size:13px}}
@media(max-width:680px){.app-main:has(#readerView:not([hidden])){padding:8px 10px 140px}.reading-title-bar{padding:9px 14px}#pinnedDocTitle{font-size:16px}.reader-command-bar{flex-wrap:wrap;gap:3px}.reader-command-bar #backBtn{flex-basis:100%;justify-content:flex-start;min-height:32px}.reader-command-bar button{flex:1;min-width:0;font-size:12px;padding:8px 5px}.reader-command-bar #backBtn{flex:none}.reader-command-bar .reader-tools-trigger{margin-left:auto}#readerActionsDialog .reader-actions-body{padding:14px}.reading-title-bar .pdf-page-badge{font-size:11px}}

/* Long documents do not lay out every off-screen page on each opening. */
.reader-text .sheet{content-visibility:auto;contain-intrinsic-size:auto 1100px;}
#readerLoadStatus{padding:16px 24px;color:var(--muted);}

.reader-text[aria-busy="true"]{pointer-events:none;}

/* The app frame stays dark. Day/night changes only the book surface. */
:root,:root[data-theme="light"]{
 color-scheme:dark;
 --bg:#101815;--panel:#182420;--panel2:#1E2E28;--ink:#F1EDE2;--muted:#A8B5AC;
 --line:#2E4038;--teal:#63B7A6;--teal-dark:#8ED0C2;--terra:#F07A52;
 --chip:#24352E;--reader-bg:#15211D;--reader-accent:#316e5f;
 --shadow:0 14px 34px rgba(0,0,0,.4);
}
:root[data-reader-theme="light"] #readerView .sheet,
:root[data-reader-theme="light"] #readerView.pdf-mode .unified-view{
 color-scheme:light;background:#fff;color:#172A26;
 --ink:#172A26;--muted:#5A6B64;--line:#E2DACA;
 --panel:#fff;--panel2:#F4EFE3;--teal:#14665A;--teal-dark:#0D453D;
}
:root[data-reader-theme="light"] #readerView .sheet{border-color:#E2DACA}
:root[data-reader-theme="light"] #readerView .sheet-top{color:#5A6B64;border-color:#E2DACA}
:root[data-reader-theme="light"] #readerView .pdf-reading-sheet{color:#172A26}
:root[data-reader-theme="light"] #pdfScroll .pdf-page{color-scheme:light;background:#fff}
:root[data-reader-theme="light"] #pdfScroll .pdf-page canvas{filter:none}

/* Keep navigation geometry independent of voice/progress updates. */
.reading-title-bar{height:68px;min-height:68px;overflow:hidden;align-content:center}
.reading-title-bar .workspace-status{flex-wrap:nowrap;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;min-height:20px}
#readerView .reader-rail{overflow-anchor:none;overscroll-behavior:contain;scrollbar-gutter:stable}
#readerView .reader-rail>*{flex-shrink:0}
#readerView .reader-rail .rail-spacer{flex:1 0 10px}
#readerView .reader-rail :is(.rail-time,.rail-progress-label){white-space:nowrap;font-variant-numeric:tabular-nums}

/* Keep the title isolated from scrolling pages and periodic save indicators. */
:root{--reader-title-height:48px}
body:has(#readerView:not([hidden])) .appbar{margin-bottom:var(--reader-title-height)}
.reading-title-bar{position:fixed;top:var(--appbar-height,58px);left:0;right:0;height:var(--reader-title-height);min-height:var(--reader-title-height);flex-wrap:nowrap;align-items:center;align-content:center;box-shadow:none;transition:none;overflow:hidden;isolation:isolate;transform:translateZ(0);backface-visibility:hidden}
#pinnedDocTitle{display:block;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;scrollbar-width:none}
.reading-title-bar .pdf-page-badge{flex:0 0 auto;min-width:108px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:680px){.reading-title-bar .pdf-page-badge{min-width:92px}}

/* Approved palette: Grafito y azul. Page colors stay separate from chrome. */
:root,:root[data-theme="light"],:root[data-theme="dark"]{
 --bg:#16181d;--panel:#202329;--panel2:#282c34;--ink:#f0f0f4;--muted:#bec0ca;
 --line:#363a43;--teal:#a1b2ff;--teal-dark:#c2cdff;--chip:#2b303a;
 --reader-bg:#16181d;--reader-accent:#a1b2ff;--accent-ink:#16181d;
}
.wordmark b,#readerView .reader-rail .rail-title b{color:var(--reader-accent)}
.btn.teal,.ws-button.primary,.ws-tabs button[aria-selected=true],
.pdf-original-toggle .ctl-btn[aria-pressed=true],#readerActionsDialog .pdf-original-toggle .ctl-btn[aria-pressed=true],
#readerView #playBtn,#readerView.pdf-mode #playBtn,#readerView .mini-player .mini-play-btn,
#readerView .reader-rail .rail-add{color:var(--accent-ink)}
#readerView .reader-rail .rail-add:hover{color:var(--accent-ink)}
.drawer nav .reader-support-action,#readerView .reader-rail .reader-support-action{background:var(--panel2);border-color:var(--line);color:var(--reader-accent)}
.drawer nav .reader-support-action:hover,#readerView .reader-rail .reader-support-action:hover{background:var(--chip);color:var(--ink)}
:root[data-reader-theme="light"] #readerView .sheet,
:root[data-reader-theme="light"] #readerView.pdf-mode .unified-view{
 background:#fff;color:#25272d;--ink:#25272d;--muted:#646875;--line:#dedfe5;
 --panel:#fff;--panel2:#f1f2f6;--teal:#475b9c;--teal-dark:#324477;
}
:root[data-reader-theme="light"] #readerView .sheet{border-color:#dedfe5}
:root[data-reader-theme="light"] #readerView .sheet-top{color:#646875;border-color:#dedfe5}
:root[data-reader-theme="light"] #readerView .pdf-reading-sheet{color:#25272d}
:root[data-reader-theme="dark"] #readerView .sheet,
:root[data-reader-theme="dark"] #readerView.pdf-mode .unified-view,
:root[data-reader-theme="dark"] #pdfScroll .pdf-page{background:#202329;color:#f0f0f4;--ink:#f0f0f4;--muted:#bec0ca;--line:#363a43}
:root[data-reader-theme="dark"] #readerView .pdf-reading-sheet{color:#f0f0f4}
:root[data-reader-theme="dark"] #readerView .sheet-top{color:#bec0ca;border-color:#363a43}
#workspaceDialog::backdrop{background:#101218aa}

#readerView{--reader-accent:#a1b2ff}

:root{--on-teal:#16181d}
:root[data-reader-theme="light"] #readerView .sheet,
:root[data-reader-theme="light"] #readerView.pdf-mode .unified-view{--bg:#fff;--accent-ink:#fff;--on-teal:#fff}
.comment-pin.resolved,.margin-note.resolved .mn-num{color:var(--on-teal)}

/* Compact floating tools share the player's surface and rounded shape. */
#selectionBar{position:fixed;left:max(12px,env(safe-area-inset-left,0px));top:auto;right:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);transform:none;width:min(560px,calc(100vw - 16px));max-width:calc(100vw - 16px);box-sizing:border-box;z-index:85;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:5px 4px;padding:8px;max-height:34dvh;overflow:hidden;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 32px #0002;backdrop-filter:blur(16px)}
#selectionBar .selection-drag-handle{grid-column:1;grid-row:1 / 3;align-self:stretch;border:0;border-radius:12px;background:transparent;color:inherit;font:22px/1 system-ui;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;min-width:30px;padding:0}
#selectionBar .selection-drag-handle:active{cursor:grabbing}
#selectionBar .selection-drag-handle:hover,#selectionBar #closeSelectionActions:hover{background:var(--panel2)}
#selectionBar .selection-drag-handle:focus-visible{outline:2px solid var(--reader-accent);outline-offset:-2px}
#selectionBar #closeSelectionActions{position:static;grid-column:3;grid-row:1 / 3;align-self:center;min-width:30px;width:30px;min-height:44px;padding:0;border-radius:12px}
#selectionBar .selection-colors{grid-column:2;grid-row:1;width:100%;box-sizing:border-box;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:5px;padding:0;min-width:0;border:0;overflow-x:auto;scrollbar-width:thin}
#selectionBar .selection-colors .swatch{flex:none;width:28px;height:28px;min-width:28px}
#selectionBar .selection-colors .ctl-btn{flex:none;min-height:40px;padding:6px 9px;font-size:13px;white-space:nowrap;border-radius:10px}
#selectionBar .selection-actions{grid-column:2;grid-row:2;display:flex;align-items:center;flex-wrap:nowrap;width:100%;min-width:0;gap:4px;overflow-x:auto;scrollbar-width:thin}
#selectionBar .selection-actions .ctl-btn{flex:none;white-space:nowrap;min-height:40px;padding:6px 9px;border-radius:10px;background:var(--panel2);border-color:var(--line);color:var(--ink)}
#selectionBar .selection-actions [data-mobile-label]{font-size:0}
#selectionBar .selection-actions [data-mobile-label]::after{content:attr(data-mobile-label);font-size:13px}

/* While the tools occupy the bottom dock, keep audio controls just above it.
   Positions explicitly chosen by dragging remain under the reader's control. */
body:has(#selectionBar:not([hidden]):not(.selection-moved)) #readerView .controls:not(.player-moved){bottom:calc(env(safe-area-inset-bottom,0px) + 126px)}


/* Both toolbars start at the lower left, away from the center of the page. */
#readerView .controls:not(.player-moved),#readerView.pdf-mode .controls:not(.player-moved){left:max(12px,env(safe-area-inset-left,0px));right:auto;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);transform:none;width:min(740px,calc(100vw - 24px));max-width:calc(100vw - 24px);box-sizing:border-box}
#readerView .controls:not(.player-minimized) .player-core{grid-template-columns:auto auto 74px}
#readerView .player-window-actions .player-drag-handle{width:34px;padding:0;font-size:0}
#readerView .player-drag-handle::before{content:"\283f";font-size:20px}
#readerView #playBtn{min-width:100px}
#readerView .controls.player-minimized:not(.player-moved){width:max-content}
body:has(#selectionBar:not([hidden]):not(.selection-moved)) #readerView .controls:not(.player-moved){bottom:calc(env(safe-area-inset-bottom,0px) + 126px)}

/* Running page furniture is selectable on its own, outside the body gesture. */
#pdfScroll[data-selection-scope="body"] [data-selection-region="margin"],
#pdfScroll[data-selection-scope="body"] [data-selection-region="side"],
#pdfScroll[data-selection-scope="margin"] [data-selection-region="body"],
#pdfScroll[data-selection-scope="margin"] [data-selection-region="side"],
#pdfScroll[data-selection-scope="side"] [data-selection-region="body"],
#pdfScroll[data-selection-scope="side"] [data-selection-region="margin"]{user-select:none;-webkit-user-select:none}

/* Navigation belongs to every reading format, including Word and EPUB. */
@media(min-width:980px){
 #readerView:not(.pdf-mode){position:relative;padding:24px 32px 190px 286px;min-height:calc(100vh - 58px);color:var(--ink)}
 #readerView:not(.pdf-mode) #textWrap{max-width:860px;margin-left:auto;margin-right:auto}
}
@media(min-width:980px) and (max-width:1200px){#readerView:not(.pdf-mode){padding-left:240px;padding-right:18px}}

/* The note markers live outside all text formats; popovers never insert a text row. */
#readerView .unified-view{position:relative;overflow:visible}
#readerView:not(.pdf-mode) #textWrap{padding-right:42px;box-sizing:border-box}
#readerView:not(.pdf-mode) .margin-gutter{right:8px}
#readerView:not(.pdf-mode) .margin-gutter .para-margin{left:0;width:34px}
#readerView:not(.pdf-mode) .margin-gutter .margin-notes-list,#readerView:not(.pdf-mode) .margin-gutter .comment-form{left:auto;right:0;width:min(280px,calc(100vw - 24px))}
#readerView:not(.pdf-mode) .sheet{position:relative}

#readerText.word-original{font:initial;color:#111;line-height:normal;min-width:0}#readerText.word-original .bdword-wrapper{padding:0;background:transparent}#readerText.word-original section.bdword{margin:0 auto 18px;box-shadow:0 6px 20px #0002;overflow:visible}#readerText.word-original p.para-row{display:block!important;grid-template-columns:none;gap:0}#readerText.word-original .sent{font:inherit;line-height:inherit}#readerText.word-original .w{letter-spacing:inherit}#readerView.word-mode .unified-view{background:transparent!important;padding:0!important}#readerView.word-mode .margin-gutter{right:4px}

/* Mobile and tablet keep the same reader chrome and a separate book surface. */
#readerView:not(.pdf-mode) .unified-view{background:transparent!important}
#readerView #annEmpty{display:none!important}
#pinnedDocTitle{min-width:0}
.reading-title-bar #readerDownloadPdfBtn{flex:none;min-height:40px;white-space:nowrap}
@media(max-width:979px){
 #readerView .reader-command-bar{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;align-items:center;gap:4px}
 #readerView .reader-command-bar button{flex:none;min-height:44px}
 #readerView .reader-command-bar #backBtn{flex:none;flex-basis:auto;margin-right:auto;min-height:44px}
 #readerView .sheet{border-radius:3px;box-shadow:0 6px 24px #0002}
 #readerView #textWrap{padding-right:38px}
 #readerView .margin-gutter,#readerView:not(.pdf-mode) .margin-gutter{right:36px}
 #readerView .margin-gutter .para-margin,#readerView:not(.pdf-mode) .margin-gutter .para-margin{left:4px;width:32px;flex-direction:column;gap:4px}
 #readerView .margin-gutter .margin-add,#readerView .margin-gutter .margin-count{min-height:32px;touch-action:manipulation}
 #readerView .margin-gutter .margin-notes-list,#readerView .margin-gutter .comment-form,#readerView:not(.pdf-mode) .margin-gutter .margin-notes-list,#readerView:not(.pdf-mode) .margin-gutter .comment-form{position:fixed;top:auto;left:12px;right:12px;bottom:calc(160px + env(safe-area-inset-bottom,0px));width:auto;max-width:calc(100vw - 24px);max-height:45dvh;box-sizing:border-box}
}
@media(max-width:680px){
 .reading-title-bar{padding:4px 10px;gap:8px}
 #pinnedDocTitle{font-size:15px}
 #readingTitleBar #readerDownloadPdfBtn{font-size:0;min-width:42px;width:42px;padding:6px;overflow:hidden}
 .reading-title-bar #readerDownloadPdfBtn::before{content:'⇩';font:24px/1 system-ui}
 .reading-title-bar .pdf-page-badge{min-width:0;font-size:10px}
 #readerView .reader-command-bar button{font-size:12px;padding:6px 9px}
 #readerView .controls:not(.player-minimized){display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 12px;border:1px solid var(--line);border-radius:24px}
 #readerView .controls:not(.player-minimized) .player-window-actions{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:0;margin:0}
 #readerView .controls:not(.player-minimized) .player-window-actions button{min-height:30px}
 #readerView .controls:not(.player-minimized) .player-core{grid-column:1;grid-row:1;grid-template-columns:minmax(72px,1fr) auto 66px;gap:6px;align-items:center}
 #readerView .controls:not(.player-minimized) #playBtn{min-width:0}
 #readerView .controls .player-core .speed-wrap[for=rateSelect] select{width:66px}
 #readerView .controls:not(.player-minimized) .player-more{grid-column:1 / -1;margin:0}
 #readerView .controls .speak-status{display:none}
}

@media(max-width:680px){#readingTitleBar #pinnedDocTitle{flex:1 1 0}#readingTitleBar .pdf-page-badge{order:0;flex:0 0 auto}}

/* Compact registration, with secondary profile choices kept optional. */
#accountModal .account-profile-fields{grid-template-columns:1fr}
#signupOptional{padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:12px 0}
#signupOptional>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-size:14px;font-weight:600}
.social-signin-buttons{display:grid;gap:8px;margin:12px 0}
.social-signin-button{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--ink);font:600 15px system-ui;cursor:pointer}
.social-signin-button[data-provider=google]{background:#fff;color:#202124;border-color:#dadce0}
#accountSocial>p{text-align:center;font-size:12px;color:var(--muted);margin:12px 0}
#socialCountryPanel{padding:14px;border:1px solid var(--line);border-radius:10px;margin:12px 0}
#socialCountryPanel form{display:grid;gap:10px}#socialCountryPanel select{min-height:44px;max-width:100%;width:100%;background:var(--panel);color:var(--ink)}

#readingSettings{padding:14px 16px}#readingSettings .set-sub{font-size:12px;line-height:1.4;margin:0 0 9px}#readingSettings .set-group{gap:6px 10px}#readingSettings .set-item{padding:7px 9px;gap:8px;min-height:44px}#readingSettings .set-item strong{font-size:13px;line-height:1.3}#readingSettings .set-item span span{font-size:11.5px;line-height:1.35;margin-top:2px}#readingSettings .set-item input{width:18px;height:18px}#readingSettings .set-voices-title{font-size:17px;margin:14px 0 5px}#readingSettings .set-foot{font-size:12px;line-height:1.4}#readingSettings .set-count{font-size:12px;margin:8px 0 0}

/* Dragging preserves the dock's dimensions; changing class must not reflow it. */
#readerView .controls.player-moved:not(.player-minimized),#readerView.pdf-mode .controls.player-moved:not(.player-minimized){width:min(740px,calc(100vw - 24px));max-width:calc(100vw - 24px);box-sizing:border-box}
#readerView .controls{transition:none}
#readerView .player-drag-handle{-webkit-user-select:none;touch-action:none}

/* Direct settings access stays on the floating player, independent of audio options. */
#readerView .controls:not(.player-minimized) .player-core{grid-template-columns:auto auto auto 74px}
#readerView #settingsBtn{white-space:nowrap;font-size:13px;min-height:44px;padding:8px 12px}
@media(max-width:680px){
 #readerView .controls:not(.player-minimized) .player-core{grid-template-columns:minmax(72px,1fr) auto 66px}
 #readerView #settingsBtn{grid-column:1 / -1;grid-row:2;justify-self:start;min-height:40px}
 #readerView .controls .player-core .speed-wrap[for=rateSelect]{grid-column:3;grid-row:1}
}

/* Keep tagging discoverable while the remaining annotation actions scroll. */
#selectionBar #tagSelectionBtn{position:sticky;left:0;z-index:1;background:var(--accent,#a5b4fc);color:#171b2a;border-color:var(--accent,#a5b4fc);box-shadow:4px 0 8px var(--panel)}

/* Let every annotation action remain visible without a hidden horizontal row. */
#selectionBar{width:max-content;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100dvh - 24px);overflow-y:auto;grid-template-columns:30px minmax(0,1fr) 30px}
#selectionBar .selection-actions{flex-wrap:wrap;overflow:visible}
#selectionBar .selection-colors{flex-wrap:wrap;overflow:visible}
#selectionBar #tagSelectionBtn{position:static;box-shadow:none}
body:has(#selectionBar:not([hidden]):not(.selection-moved)) #readerView .controls:not(.player-moved){bottom:calc(env(safe-area-inset-bottom,0px) + var(--selection-toolbar-height,114px) + 24px)}

@media(max-width:600px){
 #selectionBar{width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));grid-template-columns:24px minmax(0,1fr) 24px;gap:4px;padding:6px}
 #selectionBar .selection-drag-handle,#selectionBar #closeSelectionActions{min-width:24px;width:24px}
 #selectionBar .selection-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
 #selectionBar .selection-actions .ctl-btn{min-width:0;min-height:44px;padding:5px 2px;white-space:normal;overflow-wrap:anywhere}
 #selectionBar .selection-actions [data-mobile-label]::after{font-size:11px;line-height:1.2}
}

/* Only the Pencil-owned text selection suppresses Apple's native callout.
   Finger handles, editable notes, and the browser's normal menus stay native. */
#pdfScroll.pencil-selection .text-layer,
#pdfScroll.pencil-selection .pdf-text-item,
#readerText.pencil-selection,#readerText.pencil-selection .w{-webkit-touch-callout:none}
/* Minimize the reader from its title, without taking over document gestures. */
#readingTitleBar{touch-action:pan-x;overscroll-behavior-y:contain;transform:translateY(var(--minimize-pull,0px))}
#readingTitleBar button,#readingTitleBar a{touch-action:manipulation}
#readingTitleBar #minimizeReaderBtn{white-space:nowrap;background:#a1b2ff;color:#16181d;border:1px solid #a1b2ff;border-radius:12px;min-height:40px;padding:8px 12px;font-weight:650;box-shadow:0 2px 8px #0002}#readingTitleBar #minimizeReaderBtn:hover{background:#b8c5ff;border-color:#b8c5ff}#readingTitleBar #minimizeReaderBtn:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
#minimizedReader[hidden]{display:none!important}
#minimizedReader{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:220;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:20px;background:var(--panel,#22252c);color:var(--ink,#fff);box-shadow:0 8px 30px #0005}
#minimizedReader .minimized-reader-copy{display:grid;gap:4px;min-width:0;max-width:300px}
#minimizedReader strong,#minimizedReaderText{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#minimizedReaderText{font-size:12px;opacity:.75}
#minimizedReader button{border:0;border-radius:14px;min-height:44px;padding:9px 13px;white-space:nowrap;background:var(--accent,#a5afff);color:#172036;font-weight:650;cursor:pointer}
@media(max-width:600px){#minimizedReader{flex-wrap:wrap;width:calc(100vw - 24px)}#minimizedReader .minimized-reader-copy{flex-basis:100%;max-width:100%}#minimizedReader button{flex:1}#minimizeReaderBtn{font-size:12px;padding:7px}}
/* Playback controls stay opaque, including WebKit's disabled/busy state. */
#readerView #readerPlayer,#minimizedReader{opacity:1;backdrop-filter:none;-webkit-backdrop-filter:none}
#readerView #playBtn,#readerView #miniPlayBtn,#minimizedReaderPlay{background:#a1b2ff!important;color:#16181d!important;border:1px solid #a1b2ff!important;opacity:1!important;filter:none!important;-webkit-text-fill-color:#16181d;box-shadow:0 2px 8px #0003}
#readerView #playBtn:disabled,#readerView #miniPlayBtn:disabled{cursor:wait;outline:1px dashed #6475bf;outline-offset:2px}
/* Match Superreader's restrained, bordered highlight for secondary actions. */
#readingTitleBar #minimizeReaderBtn,#readerView .reader-rail .rail-add,.appbar #addBtn{background:linear-gradient(120deg,#383148,#292f43)!important;border:1px solid #7d77ab!important;color:#e3dbff!important;box-shadow:0 2px 8px #0002}
#readingTitleBar #minimizeReaderBtn:hover,#readerView .reader-rail .rail-add:hover,.appbar #addBtn:hover{background:linear-gradient(120deg,#433951,#333a50)!important;filter:none;opacity:1;border-color:#9b91c5!important}
/* Saved comments only: small speech-bubble notices in unused page margins. */
#readerView .comment-notice{position:absolute;z-index:8;display:flex;align-items:center;justify-content:center;width:28px;height:30px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#8278ae;opacity:.85;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none}
#readerView .comment-notice svg{width:25.5px;height:25.5px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#readerView .comment-notice small{position:absolute;right:-2px;top:-4px;font:650 12px system-ui;color:inherit}
#readerView .comment-notice:hover,#readerView .comment-notice:focus-visible{background:#8278ae18;border-color:#8278ae88;opacity:1;outline-offset:2px}
#readerView .comment-notice-resolved{opacity:.5}
.comment-delete-dialog{width:min(470px,calc(100vw - 32px));box-sizing:border-box;max-height:85dvh;overflow:auto;padding:24px;background:var(--panel);color:var(--ink);border:1px solid #7d77ab;border-radius:18px;box-shadow:0 16px 60px #0005}
.comment-delete-dialog::backdrop{background:#0008}.comment-delete-dialog h2{font-size:21px;margin:0 0 12px}.comment-delete-dialog p{line-height:1.5;color:var(--muted)}.comment-delete-dialog blockquote{margin:14px 0;padding:10px 14px;border-left:2px solid #8278ae;background:#8278ae10;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-delete-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.comment-delete-actions button{min-height:44px}
/* Phone pages use the full centered reader width; old note rails reserve no space. */
@media(max-width:680px){
 #readerView #textWrap{padding-right:0!important;min-width:0;max-width:100%}
 #readerView .unified-view,#readerView.pdf-mode .unified-view{width:100%!important;max-width:100%;margin-left:0!important;margin-right:0!important;box-sizing:border-box}
 #readerView .sheet{width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto}
 #readerView #pdfScroll{width:100%;max-width:100%;justify-content:center}
 #readingTitleBar #minimizeReaderBtn{font-size:0!important;min-width:40px;width:40px;flex:none;padding:6px!important}#readingTitleBar #minimizeReaderBtn::before{content:'⌄';font:22px/1 system-ui}
}
#readerView .player-more-actions{max-height:min(70dvh,calc(100dvh - 180px));overflow-y:auto;overscroll-behavior:contain}

/* v173: keep the mobile player minimize control discoverable. */
@media(max-width:680px){
 #readerView #playerMinimizeBtn{background:linear-gradient(120deg,#383148,#292f43)!important;border:1px solid #7d77ab!important;color:#e3dbff!important;box-shadow:0 2px 8px #0002;min-width:34px;min-height:34px;border-radius:10px;font-size:24px;font-weight:650;opacity:1}
 #readerView #playerMinimizeBtn:hover{background:linear-gradient(120deg,#433951,#333a50)!important;border-color:#9b91c5!important}
 #readerView #playerMinimizeBtn:focus-visible{outline:2px solid var(--reader-accent);outline-offset:3px}
}

/* v174: document view controls stay outside the zoomed surface. */
#readerZoom{position:relative;flex:none;font:600 13px system-ui;color:var(--ink)}
#readerZoom>summary{display:none;list-style:none;border:1px solid #7d77ab;border-radius:10px;padding:9px 11px;background:var(--panel2);cursor:pointer}
#readerZoom>.reader-zoom-controls{display:flex!important;align-items:center;gap:4px}
#readerZoom button{min-height:40px;min-width:36px;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--ink);font:600 14px system-ui;cursor:pointer}
#readerZoom button:disabled{opacity:.4;cursor:default}#readerZoom button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
#readerZoomValue{min-width:46px;text-align:center;font-variant-numeric:tabular-nums}
#readerView #pdfScroll .pdf-page{zoom:var(--document-scale,1)}
@media(min-width:980px){#readerView.document-enlarged{padding-left:24px!important}#readerView.document-enlarged .reader-rail{display:none!important}}
@media(max-width:979px){
 #readerZoom>summary{display:block}
 #readerZoom>.reader-zoom-controls{display:none!important;position:absolute;top:calc(100% + 8px);right:0;z-index:50;padding:10px;gap:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 8px 24px #0004;max-width:calc(100vw - 24px);flex-wrap:wrap;width:260px;box-sizing:border-box}
 #readerZoom[open]>.reader-zoom-controls{display:flex!important}
 #readerZoomReset{flex-basis:100%}#readerZoomValue{flex:1}
 #readingTitleBar{gap:5px!important;overflow:visible}#readingTitleBar #pinnedDocTitle{font-size:14px}
}

@media(max-width:979px){#readerZoom>.reader-zoom-controls{position:fixed;top:calc(var(--reader-title-height,48px) + 8px);right:10px}}

/* v175: zoom uses the available reading area before horizontal panning. */
#readerView.pdf-mode #pdfScroll{display:block!important;width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;justify-content:normal!important}
#readerView #pdfScroll .pdf-page{margin:0 auto 12px;flex-shrink:0}
#readerView.document-enlarged #textWrap{width:100%!important;max-width:none!important}
#readerView.document-enlarged .unified-view{width:100%!important;max-width:none!important}
#readerView.document-enlarged .sheet:not(.pdf-reading-sheet){max-width:none}

/* v176: tablet View menu remains discoverable in landscape too. */

 .reader-touch #readerZoom>summary{display:block}
 .reader-touch #readerZoom>.reader-zoom-controls{display:none!important;position:absolute;top:calc(100% + 8px);right:0;z-index:50;padding:10px;gap:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 8px 24px #0004;max-width:calc(100vw - 24px);flex-wrap:wrap;width:260px;box-sizing:border-box}
 .reader-touch #readerZoom[open]>.reader-zoom-controls{display:flex!important}
 .reader-touch #readerZoomReset{flex-basis:100%}.reader-touch #readerZoomValue{flex:1}
 .reader-touch #readingTitleBar{gap:5px!important;overflow:visible}.reader-touch #readingTitleBar #pinnedDocTitle{font-size:14px}
.reader-touch #readerZoom>.reader-zoom-controls{position:fixed;top:calc(var(--reader-title-height,48px) + 8px);right:10px}
@media(max-width:979px){#readerView.pdf-mode,#readerView .unified-view{min-width:0;max-width:100%;box-sizing:border-box}#readerView #pdfScroll{contain:inline-size}#readerZoomSummary{border-color:#7d77ab;color:#e3dbff;background:linear-gradient(120deg,#383148,#292f43)}}

/* v177: phones use fit-to-width; tablets retain their View menu. */
#readerZoom[hidden]{display:none!important}

/* The active repeat badge stays independent of the player's button columns. */
#readerView .controls .repeat-selection-badge{grid-column:1 / -1;justify-self:start;max-width:100%;box-sizing:border-box}#readerView .controls.player-minimized .repeat-selection-badge{display:none}
