:root {
  color-scheme: light;
  --ink:#172533;
  --heading:#18364f;
  --muted:#65727e;
  --paper:#fbfaf7;
  --surface:#fff;
  --surface-soft:#f4f1ea;
  --line:#d9dee3;
  --line-strong:#c6cdd3;
  --accent:#245f87;
  --accent-deep:#18364f;
  --accent-soft:#e6f0f6;
  --confidence-high:#2f8f5b;
  --confidence-medium:#c08a17;
  --confidence-low:#b34d45;
  --header:rgba(251,250,247,.96);
  --shadow:0 14px 38px rgba(24,54,79,.11);
  --serif:Georgia,"Times New Roman",Times,serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",sans-serif;
  --nav-cue-width:56px;
  --nav-cue-height:30px;
  --nav-cue-margin-offset:-62px;
  --nav-cue-shaft-width:37px;
  --nav-cue-shaft-height:8px;
  --nav-cue-head-size:11px;
  --nav-cue-head-width:17px;
}

html[data-theme="dark"] {
  color-scheme:dark;
  --ink:#e7edf2;
  --heading:#dcecf6;
  --muted:#a8b5c0;
  --paper:#0d141a;
  --surface:#141e26;
  --surface-soft:#1a2630;
  --line:#2b3a46;
  --line-strong:#3d4e5a;
  --accent:#79bce4;
  --accent-deep:#cce6f5;
  --accent-soft:#193448;
  --confidence-high:#63c98a;
  --confidence-medium:#e2b84f;
  --confidence-low:#e37b72;
  --header:rgba(13,20,26,.96);
  --shadow:0 14px 38px rgba(0,0,0,.36);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{overflow:hidden;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.45;text-rendering:optimizeLegibility}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation}
button{color:inherit}
a{color:var(--accent)}
.skip-link{position:fixed;top:-4rem;left:1rem;z-index:1000;padding:.7rem 1rem;border:1px solid var(--line);border-radius:.45rem;background:var(--surface)}
.skip-link:focus{top:1rem}
.app-header{height:60px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--header);backdrop-filter:blur(14px);position:relative;z-index:40}
.brand-group{display:flex;align-items:center;gap:10px;min-width:190px}
.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:7px;color:#fff;background:#18364f;font-family:var(--serif);font-weight:700;text-decoration:none}
.product-name{display:flex;flex-direction:column;line-height:1.1}.product-name strong{font-family:var(--serif);font-size:16px;color:var(--heading)}.product-name span{margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.035em}
.document-title{overflow:hidden;color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.icon-button,.tool-button,.zoom-label,.search-row button,.welcome-open,.secondary-action,.text-button,.reference-controls button{border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}
.icon-button:hover,.tool-button:hover:not(:disabled),.zoom-label:hover:not(:disabled),.search-row button:hover,.secondary-action:hover:not(:disabled),.reference-controls button:hover{background:var(--surface-soft);border-color:var(--line-strong)}
.icon-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;font-size:12px;font-weight:700}.home-link{color:var(--ink)}
/* v365: 15px Help glyph; retain the 34px header control. */
.header-actions .header-help{min-width:34px;height:34px;min-height:34px;padding:0 5px;font-size:15px;font-weight:750;line-height:1;color:var(--heading);border-color:var(--line-strong)}
.header-actions .header-help:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.reader-shell{--left-sidebar-width:250px;--right-sidebar-width:260px;height:calc(100vh - 60px);height:calc(100dvh - 60px);min-height:0;overflow:hidden;display:grid;grid-template-columns:var(--left-sidebar-width) 6px minmax(0,1fr) 6px var(--right-sidebar-width);min-width:0}
.sidebar{min-width:0;overflow:auto;scrollbar-gutter:stable;background:var(--surface);position:relative;z-index:20;transition:width .18s ease,transform .18s ease}
.sidebar-left{border-right:1px solid var(--line)}.sidebar-right{border-left:1px solid var(--line);padding:0 14px;overflow-x:hidden;overflow-y:auto}.sidebar-resizer{position:relative;z-index:25;min-width:6px;cursor:col-resize;background:transparent;touch-action:none}.sidebar-resizer::after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent;transition:background .12s ease}.sidebar-resizer:hover::after,.reader-shell.is-resizing-sidebar .sidebar-resizer::after{background:var(--line-strong)}
.reader-shell.left-collapsed{grid-template-columns:0 6px minmax(0,1fr) 6px var(--right-sidebar-width)}.reader-shell.right-collapsed{grid-template-columns:var(--left-sidebar-width) 6px minmax(0,1fr) 6px 0}.reader-shell.left-collapsed.right-collapsed{grid-template-columns:0 6px minmax(0,1fr) 6px 0}
.reader-shell.left-collapsed .sidebar-left,.reader-shell.right-collapsed .sidebar-right{overflow:hidden;visibility:hidden}
.sidebar-tabs{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px 0;background:var(--surface)}
.sidebar-tab{padding:8px 4px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;cursor:pointer;font-size:11px;font-weight:750}.sidebar-tab:hover{color:var(--ink)}.sidebar-tab.is-active{border-bottom-color:var(--accent);color:var(--accent-deep)}
.sidebar-panel{display:none;padding:12px}.sidebar-panel.is-active{display:block}
.panel-heading{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--heading);font-weight:750;font-size:12px}
.count-badge,.page-chip{min-width:23px;padding:2px 6px;border-radius:999px;background:var(--surface-soft);color:var(--muted);text-align:center;font-size:10px;font-weight:700}
.empty-panel{padding:18px 4px;color:var(--muted);font-size:12px;line-height:1.6}
.outline-list{display:flex;flex-direction:column;gap:1px}.outline-item{width:100%;padding:6px 7px;border:0;border-radius:5px;color:var(--ink);background:transparent;cursor:pointer;text-align:left;font-size:12px;line-height:1.35}.outline-item:hover{background:var(--surface-soft)}.outline-item[data-depth="1"]{padding-left:18px}.outline-item[data-depth="2"]{padding-left:29px}.outline-item[data-depth="3"]{padding-left:40px}
.search-form label{display:block;margin-bottom:7px;color:var(--heading);font-weight:750;font-size:12px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.search-row input{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);outline:none}.search-row input:focus{border-color:var(--accent)}.search-row button{padding:7px 9px;font-weight:700}.search-status{min-height:28px;padding:8px 2px;color:var(--muted);font-size:11px}.search-results{display:flex;flex-direction:column;gap:6px}.search-result{padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);cursor:pointer}.search-result:hover{border-color:var(--accent)}.search-result strong{display:block;margin-bottom:3px;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.search-result p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.search-hit{color:var(--ink);font-weight:750;background:var(--accent-soft)}
.text-button{padding:4px 6px;color:var(--accent);font-size:10px}.text-button:disabled{opacity:.45;cursor:not-allowed}.bookmark-list{display:flex;flex-direction:column;gap:5px;margin-top:5px}.bookmark-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.bookmark-jump{padding:8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left}.bookmark-jump:hover{border-color:var(--accent)}.bookmark-jump strong{display:block;font-size:11px}.bookmark-jump span{color:var(--muted);font-size:10px}.bookmark-remove{width:30px;border:0;color:var(--muted);background:transparent;cursor:pointer}.bookmark-remove:hover{color:var(--ink)}
.history-explainer{margin:0 0 9px;color:var(--muted);font-size:10px;line-height:1.45}.history-list{display:flex;flex-direction:column;gap:6px}.history-item{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:5px}.history-open{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left}.history-open:hover{border-color:var(--accent);background:var(--surface-soft)}.history-open strong{display:block;overflow:hidden;color:var(--heading);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.history-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:3px;color:var(--muted);font-size:9px}.history-remove{width:28px;border:0;border-radius:5px;color:var(--muted);background:transparent;cursor:pointer}.history-remove:hover{color:var(--ink);background:var(--surface-soft)}

.reader-main{min-width:0;min-height:0;height:100%;overflow:hidden;display:grid;grid-template-rows:48px minmax(0,1fr);background:#e8e9e8}html[data-theme="dark"] .reader-main{background:#0a0f13}
.reader-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--surface);position:relative;z-index:15}.toolbar-group{display:flex;align-items:center;gap:5px}.toolbar-right{justify-content:flex-end}.tool-button{min-width:31px;height:32px;padding:5px 8px;font-weight:700}.tool-button:disabled,.zoom-label:disabled{opacity:.42;cursor:not-allowed}.text-tool{min-width:auto;padding-inline:10px;font-size:11px}.zoom-label{height:32px;min-width:72px;padding:5px 8px;font-size:10px;font-weight:700}.page-control{display:flex;align-items:center;gap:5px;margin:0 2px;color:var(--muted);font-size:11px}.page-control input{width:48px;height:30px;padding:3px 4px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--paper);text-align:center;-moz-appearance:textfield}.page-control input::-webkit-outer-spin-button,.page-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.reader-viewport{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden}.welcome{height:100%;display:grid;align-content:safe center;justify-items:center;overflow-y:auto;overscroll-behavior:contain;padding:40px 24px;text-align:center;background:radial-gradient(circle at 50% 15%,rgba(36,95,135,.09),transparent 38%)}.welcome-emblem{display:grid;width:62px;height:62px;place-items:center;margin-bottom:17px;border:1px solid var(--line);border-radius:16px;color:#fff;background:#18364f;font-family:var(--serif);font-size:31px;box-shadow:var(--shadow)}.welcome-kicker{margin:0 0 8px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.welcome h1{max-width:680px;margin:0;color:var(--heading);font-family:var(--serif);font-size:clamp(28px,3.2vw,42px);line-height:1.08;letter-spacing:-.035em}.welcome-copy{max-width:560px;margin:14px 0 20px;color:var(--muted);font-size:14px;line-height:1.65}.welcome-open{min-width:124px;padding:10px 17px;border-color:#18364f;color:#fff;background:#18364f;font-weight:750}.welcome-open:hover{background:#102b40}.drop-hint{margin:10px 0 22px;color:var(--muted);font-size:11px}.welcome-features{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.welcome-features span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:10px;font-weight:700}.privacy-note{max-width:520px;margin:16px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.welcome-recent{width:min(600px,100%);margin:0 0 18px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left;box-shadow:0 6px 20px rgba(24,54,79,.06)}.welcome-recent-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}.welcome-recent-heading strong{color:var(--heading);font-family:var(--serif);font-size:13px}.welcome-recent-heading span{color:var(--muted);font-size:9px}.welcome-recent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.welcome-recent-item{min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left}.welcome-recent-item:hover{border-color:var(--accent);background:var(--surface-soft)}.welcome-recent-item strong{display:block;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.welcome-recent-item span{display:block;margin-top:2px;color:var(--muted);font-size:9px}

.pdf-workspace{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--line)}.pdf-workspace.has-reference{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pdf-pane{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:31px minmax(0,1fr);background:#d8dad9}html[data-theme="dark"] .pdf-pane{background:#090d10}.pane-label{display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface);font-size:10px;font-weight:700;letter-spacing:.02em}.canvas-wrap{min-width:0;min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;padding:22px;display:flex;align-items:flex-start;justify-content:center;scrollbar-gutter:stable}.canvas-wrap canvas{display:block;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.23)}.reference-controls{display:flex;align-items:center;gap:4px}.reference-controls button{width:24px;height:22px;padding:0;border-radius:4px;font-size:11px}.reference-canvas-wrap{padding:18px}
.loading-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(251,250,247,.78);backdrop-filter:blur(2px);font-size:12px}html[data-theme="dark"] .loading-overlay{background:rgba(13,20,26,.78)}.spinner{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.document-ocr-gate{position:absolute;inset:0;z-index:32;display:grid;place-items:center;padding:24px;background:rgba(251,250,247,.88);backdrop-filter:blur(3px)}html[data-theme="dark"] .document-ocr-gate{background:rgba(13,20,26,.90)}.document-ocr-card{width:min(440px,100%);padding:22px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.document-ocr-card h2{margin:0 0 8px;color:var(--heading);font-family:var(--serif);font-size:20px}.document-ocr-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.document-ocr-progress{display:grid;gap:7px;margin-top:16px}.document-ocr-progress progress{width:100%;height:7px;accent-color:var(--accent)}.document-ocr-progress span{color:var(--muted);font-size:10px}.document-ocr-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.document-ocr-actions button{min-height:36px;padding:8px 10px;border:0;border-radius:6px;appearance:none;box-shadow:none;font-size:11px;font-weight:750}.document-ocr-actions button:focus{outline:none}.document-ocr-actions button:focus-visible{outline:2px solid var(--line-strong);outline-offset:2px}.document-ocr-primary{color:#fff;background:#18364f}.document-ocr-primary:hover{background:#102b40}.document-ocr-primary:disabled{opacity:.55;cursor:not-allowed}.document-text-unavailable{padding:12px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft)}.document-text-unavailable strong{display:block;color:var(--heading);font-family:var(--serif);font-size:14px}.document-text-unavailable p{margin:6px 0 10px;color:var(--muted);font-size:10px;line-height:1.5}#outline-panel.text-unavailable>.contents-section{display:none}.search-form.text-unavailable{opacity:.58}.search-form.text-unavailable :is(input,button){cursor:not-allowed}
.error-banner{position:absolute;right:15px;bottom:15px;left:15px;z-index:35;padding:10px 12px;border:1px solid #b95a5a;border-radius:6px;color:#7b2222;background:#fff1f1;box-shadow:var(--shadow);font-size:12px}html[data-theme="dark"] .error-banner{color:#ffd0d0;background:#3a1f22}.error-banner.is-info{border-color:var(--line);color:var(--text);background:var(--surface)}html[data-theme="dark"] .error-banner.is-info{color:var(--text);background:var(--surface)}
.workspace-section{padding:14px 0;border-bottom:1px solid var(--line)}.workspace-section textarea{width:100%;min-height:145px;resize:vertical;padding:9px 10px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--paper);outline:none;line-height:1.5}.workspace-section textarea:focus{border-color:var(--accent)}.workspace-section textarea:disabled{opacity:.6}.save-state{margin-top:6px;color:var(--muted);font-size:9px;text-align:right}.workspace-copy{margin:7px 0 10px;color:var(--muted);font-size:11px;line-height:1.55}.reference-card{padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.reference-status{display:block;margin-bottom:8px;color:var(--muted);font-size:11px}.secondary-action{width:100%;padding:7px 9px;color:var(--accent-deep);font-size:10px;font-weight:750}.secondary-action:disabled{opacity:.45;cursor:not-allowed}.shortcuts dl{margin:4px 0 0}.shortcuts dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.shortcuts dl>div:last-child{border-bottom:0}.shortcuts dt,.shortcuts dd{margin:0}.shortcuts dd{color:var(--muted);font-size:10px}kbd{display:inline-block;min-width:22px;padding:2px 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface-soft);font-family:var(--sans);font-size:9px;text-align:center}
.drop-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(24,54,79,.22);backdrop-filter:blur(3px)}.drop-overlay>div{display:flex;min-width:280px;flex-direction:column;gap:5px;padding:24px 30px;border:2px dashed var(--accent);border-radius:12px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow);text-align:center}.drop-overlay strong{font-family:var(--serif);font-size:20px}.drop-overlay span{color:var(--muted);font-size:11px}
/* Formula model startup is a temporary application-wide modal, not the PDF loading mask.
   Static content by design: do not suggest fabricated loading percentages. */
.formula-ocr-init-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(251,250,247,.84);backdrop-filter:blur(3px);overscroll-behavior:contain}
html[data-theme="dark"] .formula-ocr-init-overlay{background:rgba(13,20,26,.86)}
.formula-ocr-init-card{width:min(390px,100%);padding:22px 24px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);text-align:center}
.formula-ocr-init-card strong{display:block;color:var(--heading);font-family:var(--serif);font-size:17px}
.formula-ocr-init-card p{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
.formula-ocr-init-overlay:focus{outline:none}
.is-hidden{display:none!important}
@media(max-width:1120px){.reader-shell{--left-sidebar-width:220px;--right-sidebar-width:230px}.reader-shell.left-collapsed{grid-template-columns:0 6px minmax(0,1fr) 6px var(--right-sidebar-width)}.reader-shell.right-collapsed{grid-template-columns:var(--left-sidebar-width) 6px minmax(0,1fr) 6px 0}.product-name span{display:none}.brand-group{min-width:145px}.home-link{display:none}}
@media(max-width:860px){.sidebar-resizer{display:none}.app-header{grid-template-columns:auto minmax(0,1fr) auto;padding:0 10px}.product-name{display:none}.brand-group{min-width:auto}.document-title{text-align:left}.reader-shell{grid-template-columns:0 minmax(0,1fr) 0}.reader-shell .sidebar{position:absolute;top:60px;bottom:0;width:min(310px,86vw);visibility:hidden;transform:translateX(-102%);box-shadow:var(--shadow)}.reader-shell .sidebar-right{right:0;transform:translateX(102%)}.reader-shell.mobile-left-open .sidebar-left{visibility:visible;transform:translateX(0)}.reader-shell.mobile-right-open .sidebar-right{visibility:visible;transform:translateX(0)}.reader-toolbar{grid-template-columns:1fr auto}.toolbar-right{justify-content:flex-end}.text-tool{display:none}.pdf-workspace.has-reference{grid-template-columns:1fr}.reference-pane{position:absolute;inset:31px 0 0 0;z-index:9}.canvas-wrap{padding:14px}}
@media(max-width:520px){.welcome-recent-list{grid-template-columns:1fr}.welcome-recent-heading{align-items:flex-start;flex-direction:column;gap:2px}.app-header{gap:8px}.document-title{font-size:11px}.icon-button{padding:5px 8px}.reader-toolbar{gap:4px;padding-inline:6px}.tool-button{min-width:29px}.page-control input{width:42px}.canvas-wrap{padding:8px}.welcome{padding:28px 18px}.welcome-features{max-width:300px}.welcome-copy{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Interactive PDF text layer */
.page-surface{position:relative;flex:0 0 auto;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.23);line-height:1}
.page-surface canvas{display:block;box-shadow:none!important}
.textLayer{position:absolute;inset:0;overflow:clip;opacity:1;line-height:1;text-align:initial;text-size-adjust:none;-webkit-text-size-adjust:none;transform-origin:0 0;z-index:2;pointer-events:auto;forced-color-adjust:none}
.textLayer :is(span,br){position:absolute;color:transparent;white-space:pre;cursor:text;transform-origin:0 0}
.textLayer span{user-select:text;-webkit-user-select:text}
.textLayer br{user-select:none}
.textLayer ::selection{background:rgba(66,146,199,.34)}
html[data-theme="dark"] .textLayer ::selection{background:rgba(121,188,228,.42)}
.textLayer .markedContent{top:0;height:0}
.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;user-select:none}
.textLayer.selecting .endOfContent{top:0}

.ocr-preview-wrap,.ocr-result pre,.note-preview,.structure-index,.command-list,.bibliography-index,.equation-index,.document-map-list,.ocr-rendered-preview{scrollbar-gutter:stable}
.selection-toolbar{position:fixed;z-index:120;display:grid;gap:5px;width:min(238px,calc(100vw - 16px));padding:6px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 8px 28px rgba(0,0,0,.22);font-size:10px}.selection-toolbar-label{overflow:hidden;padding:0 3px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.selection-toolbar-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.selection-toolbar button{min-width:0;min-height:28px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--paper);cursor:pointer;font-size:10px;font-weight:700}.selection-toolbar button:hover{border-color:var(--accent);background:var(--surface-soft)}
@media(max-width:860px){.selection-toolbar-label{display:none}.selection-toolbar{right:8px!important;left:auto!important;width:min(238px,calc(100vw - 16px));max-width:none}}

/* Rectangle formula extraction */
.ocr-tool-button.is-active{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}
.ocr-select-layer{position:absolute;inset:0;z-index:7;display:block;pointer-events:none;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none}
.page-surface.ocr-mode .ocr-select-layer{pointer-events:auto}
.page-surface.ocr-mode .textLayer{pointer-events:none}
.ocr-selection-box{position:absolute;display:none;border:2px solid var(--accent);background:rgba(74,143,190,.12);box-shadow:0 0 0 1px rgba(255,255,255,.45) inset;pointer-events:none}
.ocr-select-layer.is-selecting .ocr-selection-box{display:block}
.ocr-status{margin:0 0 9px;padding:8px 9px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface-soft);font-size:9px;line-height:1.45}
.ocr-status.is-working{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}
.ocr-processing{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin:0 0 9px;padding:10px;border:1px solid var(--accent);border-radius:7px;background:var(--accent-soft);color:var(--accent-deep)}.ocr-processing .spinner{width:16px;height:16px;flex:none}.ocr-processing-copy{display:grid;gap:2px;min-width:0}.ocr-processing-copy strong{font-size:10px}.ocr-processing-copy span{overflow-wrap:anywhere;color:var(--muted);font-size:9px;line-height:1.35}
.ocr-result{display:grid;gap:7px}.ocr-result label{color:var(--heading);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ocr-preview-wrap{display:grid;min-height:58px;place-items:center;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff}
.ocr-preview-wrap img{display:block;max-width:100%;max-height:150px;object-fit:contain}
.ocr-result pre{max-height:145px;overflow:auto;margin:0;padding:8px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:10px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.ocr-latex-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.ocr-format-select{min-width:0;width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);font-size:11px;line-height:1.2;outline:none}.ocr-format-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ocr-format-undo{min-height:32px;white-space:nowrap}.ocr-format-undo.is-disabled{opacity:.55;pointer-events:none}
.ocr-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ocr-actions .secondary-action:last-child{grid-column:1/-1}
html[data-theme="dark"] .ocr-preview-wrap{background:#fff}
@media(max-width:860px){.ocr-tool-button{display:inline-flex}.ocr-section{padding-top:10px}}
.ocr-history-block{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.ocr-history-heading{margin-bottom:5px}.ocr-history-list{display:flex;flex-direction:column;gap:5px}.ocr-history-item{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left}.ocr-history-item:hover{border-color:var(--accent);background:var(--surface-soft)}.ocr-history-item strong{display:block;color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.ocr-history-item code{display:block;overflow:hidden;margin-top:3px;color:var(--ink);font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}

/* v43 reading modes and display controls */
:root{
  --pdf-brightness:.96;
  --pdf-contrast:.96;
  --continuous-gap:20px;
  --reader-page-shadow:0 8px 30px rgba(0,0,0,.23);
}
html[data-theme="dark"]{
  --ink:#cfd6db;
  --heading:#d8e1e6;
  --muted:#96a4ae;
}
.language-button{gap:6px}.language-button #language-label{font-size:11px;font-weight:750}
.display-setting{display:grid;gap:6px;margin:8px 0 11px}.display-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--heading);font-size:10px;font-weight:750}.display-setting select{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);outline:none;font-size:10px}.display-setting select:focus{border-color:var(--accent)}.range-setting input[type="range"]{width:100%;accent-color:var(--accent)}.range-setting output{color:var(--muted);font-size:9px;font-weight:700}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px}.segmented-control button{min-height:30px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);cursor:pointer;font-size:10px;font-weight:700}.segmented-control button.is-active{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.toggle-setting{display:flex;align-items:center;gap:7px;margin:7px 0 9px;color:var(--ink);font-size:10px}.toggle-setting input{accent-color:var(--accent)}.display-note{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.5}

.page-surface{box-shadow:var(--reader-page-shadow)}
.page-surface canvas{filter:brightness(var(--pdf-brightness)) contrast(var(--pdf-contrast))}
html[data-page-tone="soft-dark"] .page-surface{background:#2b2c2b}
html[data-page-tone="soft-dark"] .page-surface canvas{filter:invert(.82) hue-rotate(180deg) brightness(var(--pdf-brightness)) contrast(var(--pdf-contrast)) saturate(.82)}
html[data-page-tone="warm"] .page-surface{background:#f1e8d5}
html[data-page-tone="warm"] .page-surface canvas{filter:sepia(.18) saturate(.82) brightness(var(--pdf-brightness)) contrast(var(--pdf-contrast))}
html[data-page-shadow="off"]{--reader-page-shadow:none}

.canvas-wrap.continuous-mode{display:block;overflow-y:scroll;padding:18px;scroll-behavior:auto;overflow-anchor:none}
.continuous-stack{display:flex;min-width:100%;flex-direction:column;align-items:center;gap:var(--continuous-gap);padding:0;margin:0 auto}
.continuous-page-frame{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px;scroll-margin-top:10px}
.continuous-page-number{align-self:flex-start;margin-left:2px;padding:2px 6px;border-radius:999px;color:var(--muted);background:var(--surface);font-size:9px;font-weight:750;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.continuous-page-surface{min-height:180px}
.continuous-page-surface.is-placeholder{display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);background:var(--surface-soft);font-size:11px}
.continuous-page-surface.is-placeholder::after{content:attr(data-placeholder-label)}
.continuous-page-surface canvas{display:block}
.continuous-page-surface .textLayer,.continuous-page-surface .ocr-select-layer{position:absolute}

@media(max-width:860px){.language-button #language-label{display:none}.canvas-wrap.continuous-mode{padding:12px}}


/* v43 OCR backend diagnostics */
.ocr-engine-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;margin:0 0 7px}.ocr-engine-controls label{display:grid;gap:4px;color:var(--heading);font-size:9px;font-weight:750}.ocr-engine-controls select{width:100%;min-width:0;padding:6px 7px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);outline:none;font-size:9px}.ocr-engine-controls select:focus{border-color:var(--accent)}.ocr-capability{margin:-1px 0 7px;color:var(--muted);font-size:9px;line-height:1.45}.ocr-capability strong{color:var(--heading)}
.continuous-page-surface.ocr-mode .ocr-select-layer{pointer-events:auto}.continuous-page-surface.ocr-mode .textLayer{pointer-events:none}
html[data-page-tone="soft-dark"] .reader-main{background:#17191a}
html[data-page-tone="soft-dark"] .page-surface,html[data-page-tone="soft-dark"] .continuous-page-surface{background:#252728}
html[data-page-tone="soft-dark"] .page-surface canvas,html[data-page-tone="soft-dark"] .continuous-page-surface canvas{filter:invert(.86) hue-rotate(180deg) saturate(.72) brightness(var(--pdf-brightness)) contrast(var(--pdf-contrast))}
html[data-page-tone="warm"] .reader-main{background:#d8d1c2}
html[data-theme="dark"] .icon-button,html[data-theme="dark"] .tool-button,html[data-theme="dark"] .zoom-label{font-weight:650}
@media(max-width:520px){.ocr-engine-controls{grid-template-columns:1fr}.ocr-engine-controls .text-button{justify-self:start}}

.welcome-emblem-icon{display:grid;place-items:center}.welcome-emblem-icon img{display:block;width:78px;height:78px;object-fit:contain}

.ocr-result-meta{display:flex;justify-content:flex-start}.source-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-soft);font-size:9px;font-weight:800;letter-spacing:.03em}.source-badge[data-source="vector"]{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}


.ocr-latex-editor{width:100%;min-height:78px;max-height:180px;resize:vertical;padding:8px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:10px;line-height:1.45;outline:none}.ocr-latex-editor:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}

/* v60 interaction polish */
.search-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:7px}.search-options label{display:flex;align-items:center;gap:5px;min-width:0;color:var(--muted);font-size:9px;font-weight:650}.search-options input{accent-color:var(--accent)}.search-help{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.4}
.sidebar-right .panel-heading{justify-content:flex-start}.sidebar-right .panel-heading>:first-child{margin-right:auto}.section-collapse-button{flex:0 0 auto;min-width:28px;height:26px;padding:0 6px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface);cursor:pointer;font-size:12px;line-height:1}.section-collapse-button:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface-soft)}.workspace-section.is-collapsed>:not(.panel-heading){display:none!important}.workspace-section.is-collapsed{padding-bottom:10px}
.ocr-engine-controls .text-button{white-space:nowrap;min-width:60px;min-height:30px;justify-self:end}.ocr-engine-controls{align-items:end}.ocr-processing{min-height:46px}
.bookmark-item{display:block;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.bookmark-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:start}.bookmark-jump{padding:0;border:0;background:transparent}.bookmark-jump:hover{border-color:transparent}.bookmark-jump strong{font-size:11px}.bookmark-meta{display:block;margin-top:2px;color:var(--muted);font-size:9px;line-height:1.35}.bookmark-note-preview{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}.bookmark-edit,.bookmark-remove{width:30px;height:28px;border:0;border-radius:5px;color:var(--muted);background:transparent;cursor:pointer}.bookmark-edit:hover,.bookmark-remove:hover{color:var(--ink);background:var(--surface-soft)}.bookmark-editor{display:grid;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.bookmark-editor input,.bookmark-editor textarea{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--surface);font:inherit;font-size:10px;outline:none}.bookmark-editor textarea{min-height:62px;resize:vertical}.bookmark-editor input:focus,.bookmark-editor textarea:focus{border-color:var(--accent)}.bookmark-editor-actions{display:flex;justify-content:flex-end;gap:6px}.bookmark-editor-actions button{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:9px}.bookmark-editor-actions .save{color:var(--accent-deep);border-color:var(--accent)}
.history-item.is-unavailable{border-color:rgba(190,96,78,.35)}.history-unavailable{color:#c98372!important}.history-recover{padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--accent);cursor:pointer;font-size:9px;white-space:nowrap}
@media(max-width:520px){.bookmark-main{grid-template-columns:minmax(0,1fr) auto auto}.search-options{gap:6px 10px}}
.history-item{grid-template-columns:minmax(0,1fr) auto 28px;align-items:stretch}.history-open:disabled{cursor:default;opacity:.72}.history-recover{align-self:stretch}
/* v302: imported-session PDF guidance sits below, not inside, the compact History card. */
.history-entry{display:grid;gap:3px;min-width:0}.history-unavailable-below{display:block;padding:0 4px 1px;font-size:9px;line-height:1.35}
.ocr-engine-controls{grid-template-columns:1fr}.ocr-engine-controls label{min-width:0}.ocr-engine-controls .text-button{grid-column:1;justify-self:end}

/* v61 interaction polish */
.ocr-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.ocr-actions .secondary-action,.ocr-actions .secondary-action:last-child{grid-column:auto;min-height:34px;display:flex;align-items:center;justify-content:center;text-align:center}
.ocr-history-toggle{width:100%;margin-top:6px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;color:var(--accent);background:var(--surface);cursor:pointer;font-size:9px;font-weight:700}
.ocr-history-toggle:hover{border-color:var(--accent);background:var(--surface-soft)}
.ocr-history-item.is-copied{border-color:var(--accent);background:var(--accent-soft)}
.note-latex-help{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.45}
.note-preview{margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--paper);font-size:11px;line-height:1.55;white-space:pre-wrap;overflow:auto}
.note-preview mjx-container[display="true"]{margin:.8em 0!important;padding:.15em .3em;overflow-x:auto;overflow-y:visible}
.bookmark-item{border-left-width:4px}.bookmark-item[data-color="red"]{border-left-color:#c95d5d}.bookmark-item[data-color="blue"]{border-left-color:#5d8fc9}.bookmark-item[data-color="green"]{border-left-color:#5e9d72}.bookmark-item[data-color="yellow"]{border-left-color:#d2a93e}.bookmark-item[data-color="purple"]{border-left-color:#8d6bc1}
.bookmark-color-picker{display:grid;gap:5px}.bookmark-color-picker>span{color:var(--muted);font-size:9px;font-weight:700}.bookmark-color-swatches{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.bookmark-color-swatch{width:22px;height:22px;padding:0;border:2px solid transparent;border-radius:999px;cursor:pointer;box-shadow:0 0 0 1px var(--line)}.bookmark-color-swatch[data-color="red"]{background:#c95d5d}.bookmark-color-swatch[data-color="blue"]{background:#5d8fc9}.bookmark-color-swatch[data-color="green"]{background:#5e9d72}.bookmark-color-swatch[data-color="yellow"]{background:#d2a93e}.bookmark-color-swatch[data-color="purple"]{background:#8d6bc1}.bookmark-color-swatch.is-active{border-color:var(--surface);box-shadow:0 0 0 2px var(--accent)}


/* v67 mathematical-reading workflow additions */
.compact-heading { margin-top: .75rem; }
.structure-index-block { border-top: 1px solid var(--line); margin-top: .65rem; padding-top: .35rem; }
.structure-build { margin: .1rem .65rem .45rem; }
.structure-index { display: grid; gap: .25rem; padding: 0 .4rem .35rem; max-height: 38vh; overflow: auto; }
.structure-item { text-align: left; border: 0; border-radius: .45rem; background: transparent; color: inherit; padding: .45rem .5rem; cursor: pointer; display: grid; gap: .15rem; }
.structure-item:hover { background: var(--surface-soft); }
.structure-item strong { font-size: .82rem; font-weight: 650; }
.structure-item span { font-size: .72rem; color: var(--muted); }
.library-tools { display: flex; gap: .4rem; flex-wrap: wrap; padding: .15rem .55rem .55rem; }
.bookmark-equation-preview { display: block; margin: .25rem .55rem .45rem; padding: .42rem .5rem; border-radius: .4rem; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .72rem; color: var(--muted); background: var(--surface-soft); }
.reference-stack { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: .5rem; }
.reference-stack-chip { border: 1px solid var(--line); background: transparent; color: inherit; border-radius: 999px; padding: .25rem .55rem; font-size: .74rem; cursor: pointer; }
.reference-stack-chip.is-active { background: var(--surface-soft); font-weight: 650; }
.command-palette { position: fixed; inset: 0; z-index: 1200; background: rgb(0 0 0 / .28); display: grid; place-items: start center; padding-top: min(16vh, 9rem); }
.command-palette.is-hidden { display: none; }
.command-palette-card { width: min(34rem, calc(100vw - 2rem)); max-height: 60vh; overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); box-shadow: 0 18px 55px rgb(0 0 0 / .24); padding: .65rem; }
.command-palette input { width: 100%; box-sizing: border-box; padding: .72rem .8rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); color: inherit; font: inherit; }
.command-list { display: grid; gap: .2rem; margin-top: .45rem; max-height: 42vh; overflow: auto; }
.command-item { border: 0; border-radius: .45rem; background: transparent; color: inherit; text-align: left; padding: .62rem .7rem; cursor: pointer; }
.command-item:hover, .command-item.is-current { background: var(--surface-soft); }
.command-hint { color: var(--muted); font-size: .72rem; padding: .45rem .2rem .05rem; }

.ocr-result-meta{align-items:center;gap:.45rem}.ocr-save-equation{margin-left:auto}


/* Anchored reading annotations */
.annotation-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:visible}
.annotation-highlight{position:absolute;border-radius:2px;background:rgba(255,216,77,.34);box-shadow:inset 0 -1px 0 rgba(173,126,0,.28);pointer-events:none}
html[data-theme="dark"] .annotation-highlight{background:rgba(244,194,64,.28);box-shadow:inset 0 -1px 0 rgba(255,224,128,.24)}
.annotation-margin-marker{position:absolute;right:-10px;width:8px;height:18px;border:1px solid var(--accent);border-radius:4px;background:var(--accent-soft);box-shadow:0 1px 4px rgba(0,0,0,.18);pointer-events:auto;cursor:pointer}
.annotation-margin-marker::after{content:"";position:absolute;left:2px;top:4px;width:2px;height:8px;border-left:2px solid var(--accent-deep);border-radius:2px}
.annotation-list{display:grid;gap:7px}.annotation-item{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.annotation-item-head{display:flex;align-items:center;gap:6px}.annotation-kind{font-size:9px;font-weight:800;color:var(--accent-deep);text-transform:uppercase;letter-spacing:.04em}.annotation-page{margin-left:auto;color:var(--muted);font-size:9px}
.annotation-quote{margin:0;color:var(--ink);font-size:10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.annotation-note-input{width:100%;min-height:54px;resize:vertical;border:1px solid var(--line);border-radius:5px;padding:6px 7px;color:var(--ink);background:var(--surface);font:inherit;font-size:10px;line-height:1.4}
.annotation-actions{display:flex;gap:5px;flex-wrap:wrap}.annotation-actions button{padding:4px 7px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font-size:9px;font-weight:700;cursor:pointer}.annotation-actions button:hover{border-color:var(--accent)}

.reading-trail-list{display:grid;gap:7px}.reading-trail-item{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:5px;align-items:stretch}.reading-trail-jump{display:grid;gap:3px;width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}.reading-trail-jump:hover{border-color:var(--line-strong);background:var(--surface-soft)}.reading-trail-jump strong{font-size:10px}.reading-trail-jump span{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.reading-trail-remove{width:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);cursor:pointer}.reading-trail-remove:hover{color:var(--ink);border-color:var(--line-strong)}.reading-trail-clear{margin-top:8px}.reading-trail-toggle{margin-top:7px;padding:0;border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:700;cursor:pointer;text-align:left}.reading-trail-toggle:hover{text-decoration:underline}


/* v72 mathematical navigation */
.reference-link-layer{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.pdf-reference-link{position:absolute;margin:0;padding:0;border:0;border-bottom:1px dotted rgba(29,107,157,.72);border-radius:0;background:transparent;pointer-events:auto;cursor:pointer;appearance:none}
.pdf-reference-link:hover,.pdf-reference-link:focus-visible{background:rgba(55,143,197,.13);border-bottom-style:solid;outline:none}
.pdf-toc-link{border-bottom-style:solid;border-bottom-color:rgba(29,107,157,.58)}
.pdf-toc-link:hover,.pdf-toc-link:focus-visible{background:rgba(55,143,197,.16);box-shadow:0 1px 0 rgba(29,107,157,.24)}
.page-surface.ocr-mode .reference-link-layer,.continuous-page-surface.ocr-mode .reference-link-layer{pointer-events:none}.page-surface.ocr-mode .pdf-reference-link,.continuous-page-surface.ocr-mode .pdf-reference-link{pointer-events:none}
.structure-entry{display:grid;gap:1px}.structure-proof{margin:-2px .5rem .2rem 1rem;padding:3px 6px;border:0;border-left:2px solid var(--line-strong);background:transparent;color:var(--muted);text-align:left;font-size:.69rem;cursor:pointer}.structure-proof:hover{color:var(--accent-deep);border-left-color:var(--accent)}
.bibliography-index-block{border-top:1px solid var(--line);margin-top:.45rem;padding-top:.35rem}.bibliography-index{display:grid;gap:4px;padding:0 .4rem .4rem;max-height:34vh;overflow:auto}.bibliography-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:start}.bibliography-jump{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;width:100%;padding:6px 7px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.bibliography-jump:hover{background:var(--surface-soft)}.bibliography-jump strong{color:var(--accent-deep);font-size:.72rem}.bibliography-jump span{overflow:hidden;color:var(--muted);font-size:.69rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bibliography-external{margin-top:5px;padding:2px 4px;color:var(--accent-deep);font-size:.65rem;text-decoration:none;white-space:nowrap}.bibliography-external:hover{text-decoration:underline}

.pdf-comments{margin-bottom:9px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft)}
.pdf-comments-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:10px;font-weight:800;color:var(--ink)}
.pdf-comments-list{display:grid;gap:8px}.pdf-comment-item{padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden}
.pdf-comment-meta{display:flex;flex-wrap:wrap;gap:5px 8px;margin-bottom:6px;color:var(--muted);font-size:9px;line-height:1.35}.pdf-comment-source,.pdf-comment-reply{padding:7px 8px;border-radius:5px}.pdf-comment-source{background:rgba(206,164,45,.15);border-left:3px solid rgba(206,164,45,.72)}.pdf-comment-reply{margin-top:6px;background:rgba(55,143,197,.12);border-left:3px solid rgba(55,143,197,.72)}
.pdf-comment-source-label,.pdf-comment-reply-label{margin-bottom:3px;font-size:9px;font-weight:800;letter-spacing:.01em}.pdf-comment-source-label{color:#b18416}.pdf-comment-reply-label{color:var(--accent-deep)}.pdf-comment-source-text{margin:0;padding:0;border:0;color:var(--ink);font-size:10px;line-height:1.5;font-style:normal;white-space:pre-wrap;overflow-wrap:anywhere}.pdf-comment-body{margin:0;color:var(--ink);font-size:10px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
/* v94 compact contextual help */
.compact-instruction{margin:4px 0 5px;font-size:10px;line-height:1.35}
.compact-help{position:relative;margin:3px 0 7px;width:100%;max-width:100%;min-width:0}
.compact-help>summary{display:flex;align-items:center;justify-content:center;width:22px;height:22px;box-sizing:border-box;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--surface);cursor:pointer;font-size:10px;font-weight:800;list-style:none;user-select:none}
.compact-help>summary::-webkit-details-marker{display:none}
.compact-help>summary:hover,.compact-help[open]>summary{color:var(--ink);border-color:var(--line-strong);background:var(--surface-soft)}
.compact-help-body{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin-top:5px;padding:7px 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--paper);font-size:9px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;white-space:normal;box-shadow:0 5px 16px rgba(0,0,0,.12)}

/* v95: right panel must never require horizontal scrolling */
.sidebar-right,.sidebar-right *{min-width:0;box-sizing:border-box}
.sidebar-right pre,.sidebar-right code,.sidebar-right p,.sidebar-right span,.sidebar-right div{max-width:100%}

/* v97: keep contextual help attached to its section label */
.workspace-section{position:relative}
.panel-heading-title{display:inline-flex;align-items:center;gap:4px;min-width:0}
.compact-help-heading{position:static;display:inline-flex;width:auto;max-width:none;min-width:0;margin:0}
.compact-help-heading>summary{width:18px;height:18px;font-size:9px;flex:0 0 auto}
.compact-help-heading>.compact-help-body{position:absolute;z-index:40;left:8px;right:8px;top:34px;width:auto;max-width:none;margin:0;padding:7px 8px}

/* v100 search + symbol glossary */
.glossary-add{display:grid;gap:6px;margin:4px 0 9px}.glossary-add input{width:100%;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);outline:none}.glossary-add input:focus{border-color:var(--accent)}
.symbol-glossary-list{display:flex;flex-direction:column;gap:7px}.symbol-glossary-item{padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.symbol-glossary-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:baseline}.symbol-glossary-head strong{font-family:var(--serif);font-size:13px;color:var(--ink)}.symbol-glossary-head span{min-width:0;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.symbol-glossary-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.symbol-glossary-actions .text-button{font-size:9px;padding:3px 5px}


/* Search-result navigation: emphasize the exact rendered occurrence after jump. */
.search-match-emphasis-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 7;
}
.search-match-emphasis {
  position: absolute;
  border-radius: 3px;
  background: color-mix(in srgb, #ffd84d 48%, transparent);
  outline: 2px solid color-mix(in srgb, #ffd84d 72%, transparent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--surface, #111820) 28%, transparent);
  transition: opacity .65s ease, outline-color .65s ease;
}

.target-landing-cue,.equation-bookmark-cue{position:absolute;left:var(--nav-cue-margin-offset);z-index:8;width:var(--nav-cue-width);height:var(--nav-cue-height);pointer-events:none;color:var(--accent-deep);font-size:0;line-height:1;filter:drop-shadow(0 2px 2px var(--surface))}
.target-landing-cue::before,.equation-bookmark-cue::before{content:"";position:absolute;left:2px;top:11px;width:var(--nav-cue-shaft-width);height:var(--nav-cue-shaft-height);border-radius:999px;background:currentColor}
.target-landing-cue::after,.equation-bookmark-cue::after{content:"";position:absolute;left:var(--nav-cue-shaft-width);top:4px;width:0;height:0;border-top:var(--nav-cue-head-size) solid transparent;border-bottom:var(--nav-cue-head-size) solid transparent;border-left:var(--nav-cue-head-width) solid currentColor}
.target-landing-cue{transform:translateY(-50%) translateX(0);opacity:.98}
.search-match-emphasis-layer.is-fading .target-landing-cue{opacity:0;transform:translateY(-50%) translateX(6px);transition:opacity .35s ease,transform .35s ease}
.search-match-emphasis-layer.is-fading .search-match-emphasis {
  opacity: .28;
  outline-color: transparent;
}
.backlinks-context{margin:0 0 7px;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}.backlinks-list{display:grid;gap:6px}.backlink-item{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}.backlink-item:hover{border-color:var(--line-strong);background:var(--surface-soft)}.backlink-meta{display:block;margin-bottom:3px;color:var(--accent-deep);font-size:9px;font-weight:800;text-transform:uppercase}.backlink-snippet{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}

.undo-list,
.recovery-list {
  display: grid;
  gap: 7px;
}
.undo-item,
.recovery-item {
  border: 1px solid var(--line-soft, rgba(130,150,170,.22));
  border-radius: 8px;
  padding: 8px;
  min-width: 0;
  background: color-mix(in srgb, var(--panel, #101820) 92%, transparent);
}
.undo-item-head,
.recovery-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.undo-item-kind {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 650;
}
.undo-item-title,
.recovery-item-title {
  font-weight: 650;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.undo-item-meta,
.recovery-item-meta {
  margin-top: 3px;
  font-size: .78rem;
  opacity: .72;
}
.undo-item-actions,
.recovery-item-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 7px;
}
.undo-item-actions button,
.recovery-item-actions button { font-size: .78rem; }
.undo-clear { margin-top: 8px; width: 100%; }

/* universal command navigation, equation search, and reference preview */
.command-list{overflow:auto;max-height:calc(60vh - 6.4rem);padding:.35rem 0}
.command-item{width:100%;display:grid;grid-template-columns:5.8rem minmax(0,1fr);gap:.55rem;align-items:start;text-align:left;padding:.55rem .65rem;border:0;border-radius:.45rem;background:transparent;color:inherit;cursor:pointer}
.command-item:hover,.command-item.is-current{background:var(--surface-2)}
.command-kind{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.035em;padding-top:.08rem}
.command-main{min-width:0}
.command-title{display:block;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.command-subtitle{display:block;margin-top:.12rem;font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reference-preview{position:fixed;z-index:1300;width:min(30rem,calc(100vw - 1rem));overflow:hidden;padding:.5rem;border:1px solid var(--line);border-radius:.6rem;background:var(--surface);box-shadow:0 12px 34px rgb(0 0 0 / .22);font-size:.82rem;line-height:1.35;pointer-events:none}
.reference-preview.is-hidden{display:none}
.reference-preview-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.05rem .12rem .38rem}
.reference-preview strong{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reference-preview .reference-preview-meta{flex:0 0 auto;color:var(--muted);font-size:.74rem}
.reference-preview-image-wrap{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:.42rem;background:#fff}
.reference-preview-image{display:block;width:100%;height:auto;max-height:13.5rem;object-fit:contain;background:#fff}
.reference-preview-fallback{display:block;padding:.7rem;color:var(--muted);overflow-wrap:anywhere}
.search-result-equation code{display:block;margin-top:.3rem;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.78rem}
/* v114: compact command actions and visual reference snapshots */
.command-item.is-command-action{display:block;padding-left:.75rem}
.command-item.is-command-action .command-title{font-weight:620}

/* v115: collapsible contents groups and quieter visual reference locator */
#outline-panel{padding:0}
.contents-section{padding:10px 12px;border-bottom:1px solid var(--line)}
.contents-section:last-child{border-bottom:0}
.contents-section>.panel-heading{margin:0}
.contents-section.is-collapsed{padding-bottom:10px}
.contents-section .outline-list,.contents-section .structure-index,.contents-section .bibliography-index,.contents-section .equation-index{margin-top:5px}
/* Lightweight per-document pipeline status; no progress bar that implies complete OCR coverage. */
.equation-detection-status{display:block;min-width:0;max-width:100%;margin:4px 2px 6px;color:var(--muted);font-size:.65rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}
.equation-detection-status:empty{display:none}
.equation-detection-status[data-phase="running"]{color:var(--accent-deep)}
.equation-detection-status[data-phase="warning"]{color:var(--confidence-medium)}
.equation-index{display:grid;gap:2px;max-height:34vh;overflow:auto;padding-right:8px;box-sizing:border-box}
.equation-index-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center;width:100%;padding:6px 7px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.equation-index-item:hover{background:var(--surface-soft)}
.equation-index-item strong{color:var(--accent-deep);font-size:.72rem}
.equation-index-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.68rem}
.reference-preview-target{position:absolute;left:8px;right:auto;top:42%;width:var(--nav-cue-width);height:var(--nav-cue-height);background:transparent;box-shadow:none;color:color-mix(in srgb,var(--accent) 78%,white);filter:drop-shadow(0 2px 2px rgb(0 0 0 / .28));transform:translateY(-50%);pointer-events:none}
.reference-preview-target::before{content:"";position:absolute;left:2px;top:11px;width:var(--nav-cue-shaft-width);height:var(--nav-cue-shaft-height);border-radius:999px;background:currentColor}
.reference-preview-target::after{content:"";position:absolute;left:var(--nav-cue-shaft-width);top:4px;width:0;height:0;border-top:var(--nav-cue-head-size) solid transparent;border-bottom:var(--nav-cue-head-size) solid transparent;border-left:var(--nav-cue-head-width) solid currentColor}

/* v116 · user-reorderable sidebar sections */
.section-drag-handle{flex:0 0 auto;width:24px;height:26px;padding:0;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:grab;font-size:14px;line-height:1;opacity:.58}
.section-drag-handle:hover,.section-drag-handle:focus-visible{color:var(--ink);background:var(--surface-soft);opacity:1;outline:none}
.section-drag-handle:active{cursor:grabbing}
.workspace-section.is-dragging-section{opacity:.48}
.workspace-section.drag-target-before::before,.workspace-section.drag-target-after::after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:2px;background:var(--accent);z-index:5;pointer-events:none}
.workspace-section.drag-target-before::before{top:-1px}.workspace-section.drag-target-after::after{bottom:-1px}
.sidebar-left .contents-section>.panel-heading,.sidebar-right .workspace-section>.panel-heading{min-width:0}

/* v117: compact proof-relationship graph inside the structure index. */
.structure-relations{display:flex;flex-wrap:wrap;gap:3px 4px;align-items:center;margin:-1px .5rem .25rem 1rem;color:var(--muted);font-size:.66rem;line-height:1.25}
.structure-relations-label{font-weight:700;color:var(--muted)}
.structure-relation-chip{max-width:100%;padding:2px 5px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--accent-deep);font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.structure-relation-chip:hover{border-color:var(--line-strong);background:var(--surface-soft)}

/* v118 document map + mathematical intelligence */
.map-filter{width:100%;margin:6px 0 2px;padding:6px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:.68rem;outline:none}.map-filter:focus{border-color:var(--accent)}.map-filter-hidden{display:none!important}.document-map-list{display:grid;gap:3px;margin-top:5px;max-height:31vh;overflow:auto}.document-map-item{display:grid;gap:2px;width:100%;padding:6px 7px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.document-map-item:hover{background:var(--surface-soft)}.document-map-item strong{font-size:.71rem}.document-map-item span{color:var(--muted);font-size:.66rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#outline-panel .is-current-location{position:relative}
#outline-panel .is-current-location::after{content:"";position:absolute;right:5px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:color-mix(in srgb,var(--accent) 58%,var(--muted));opacity:.7;pointer-events:none}
#outline-panel .is-selected-location{position:relative;background:var(--surface-soft);box-shadow:inset 3px 0 0 var(--accent)}
#outline-panel .is-selected-location::after{display:none}

.equation-index-item{grid-template-columns:minmax(0,1fr);align-items:start;min-height:0}.equation-index-thumb{display:none}.equation-index-copy{display:grid;gap:2px;min-width:0;overflow:visible;white-space:normal}.equation-index-item .equation-index-copy span{overflow:visible;text-overflow:clip;white-space:normal}.equation-index-item[data-confidence="review"]{opacity:.88}.equation-index-item strong::after{content:"";display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;vertical-align:middle;opacity:1}.equation-index-item[data-confidence="high"] strong::after{background:var(--confidence-high)}.equation-index-item[data-confidence="medium"] strong::after{background:var(--confidence-medium)}.equation-index-item[data-confidence="review"] strong::after{background:var(--confidence-low)}

.proof-graph-card{position:relative;margin:3px 0 6px;padding-left:8px;border-left:1px solid var(--line)}.proof-graph-root{position:relative}.proof-graph-root::before{content:"";position:absolute;left:-9px;top:50%;width:7px;border-top:1px solid var(--line-strong)}.proof-graph-proof{margin-left:.45rem}.proof-graph-relations{display:grid;gap:3px;margin:.1rem .25rem .35rem .7rem}.structure-relations{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.structure-relations-label{color:var(--muted);font-size:.62rem;font-weight:700}.structure-relation-chip{padding:2px 5px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--accent-deep);font-size:.61rem;cursor:pointer}.structure-relation-chip:hover{background:var(--surface-soft);border-color:var(--line-strong)}.relation-corollary .structure-relation-chip{font-weight:700}

.bibliography-smart-item{grid-template-columns:minmax(0,1fr) auto;padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.bibliography-smart-item:last-child{border-bottom:0}.bibliography-expand{grid-template-columns:auto minmax(0,1fr)}.bibliography-copy{display:grid;gap:2px;min-width:0}.bibliography-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bibliography-stats{display:block;color:var(--accent-deep)!important;font-size:.62rem!important;font-weight:700}.bibliography-actions{display:flex;align-items:flex-start;gap:3px}.bibliography-citations{grid-column:1/-1;display:grid;gap:3px;margin:2px 3px 5px 1.25rem;padding-left:7px;border-left:1px solid var(--line)}.bibliography-citation-item{display:grid;gap:2px;padding:5px 6px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.bibliography-citation-item:hover{background:var(--surface-soft)}.bibliography-citation-item strong{color:var(--accent-deep);font-size:.62rem}.bibliography-citation-item span{color:var(--muted);font-size:.64rem;line-height:1.35}.bibliography-citations-empty{padding:5px;color:var(--muted);font-size:.64rem}

.document-meta-field{display:grid;gap:5px;margin:7px 0;color:var(--muted);font-size:.68rem}.document-meta-field input,.document-meta-field select{width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.document-meta-field textarea{min-height:82px!important}.document-meta-summary{margin-top:7px;color:var(--muted);font-size:.64rem;line-height:1.4}

.ocr-rendered-preview{min-height:64px;max-height:340px;overflow:auto;padding:14px 24px 16px 16px;scroll-padding-right:24px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);display:block;text-align:center}
.ocr-rendered-preview mjx-container{max-width:none;min-width:100%;width:max-content;box-sizing:border-box;margin:.45em auto!important;padding:.25em 1.1em .25em .45em;overflow:visible}
.ocr-rendered-preview.has-error{justify-content:flex-start;text-align:left;color:var(--danger,#b42318);font-size:10px;line-height:1.45}

/* v132 mathematical-reading context tools */


/* v137 right-panel navigation and dark form-control polish */
.sidebar-right select,
.sidebar-right input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
.sidebar-right textarea{
  border:1px solid var(--line);
  color:var(--ink);
  background:var(--surface);
  outline:none;
  color-scheme:inherit;
}
.sidebar-right select:focus,
.sidebar-right input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):focus,
.sidebar-right textarea:focus{border-color:var(--accent)}
html[data-theme="dark"] .sidebar-right select,
html[data-theme="dark"] .sidebar-right input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] .sidebar-right textarea{
  color:#e7edf2;
  background:#141e26;
  border-color:#3d4e5a;
}
html[data-theme="dark"] .sidebar-right select option{color:#e7edf2;background:#141e26}
html[data-theme="dark"] .sidebar-right input::placeholder,
html[data-theme="dark"] .sidebar-right textarea::placeholder{color:#8797a4;opacity:1}

/* v138: OCR result help belongs with its result title/badge, not as a detached footer. */
.ocr-result-meta{position:relative}
.ocr-result-meta .ocr-result-help{margin:0;flex:0 0 auto}
.ocr-result-meta .ocr-result-help>.compact-help-body{top:26px;left:0;right:0;z-index:60}

.ocr-troubleshooting{margin-top:4px;padding-top:2px}.ocr-troubleshooting>summary{width:max-content;color:var(--muted);font-size:9px;cursor:pointer}.ocr-troubleshooting>summary:hover{color:var(--ink)}.ocr-troubleshooting .text-button{width:max-content;min-width:0;min-height:0;margin-top:7px;padding:3px 6px;font-size:9px;justify-self:start}.ocr-actions #ocr-source-switch{grid-column:auto}

/* v173: align Contents section metadata/actions as a compact right-side group, matching the right panel. */
.sidebar-left .contents-section>.panel-heading{justify-content:flex-start}
.sidebar-left .contents-section>.panel-heading>:first-child{margin-right:auto}

/* v179: hierarchical settings keep low-frequency preferences out of the reading workspace. */
.settings-section .settings-group {
  border-top: 1px solid var(--border);
}
.settings-section .settings-group:first-of-type {
  border-top: 0;
}
.settings-section .settings-group > summary {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 0;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.settings-section .settings-group > summary::-webkit-details-marker { display: none; }
.settings-section .settings-group > summary::after {
  content: '▸';
  margin-left: auto;
  opacity: .65;
}
.settings-section .settings-group[open] > summary::after { content: '▾'; }
.settings-section .settings-group-body {
  display: grid;
  gap: 9px;
  padding: 1px 0 12px;
}
.settings-section .settings-group-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted);
}
.settings-section .segmented-control { width: 100%; }
.settings-section .segmented-control button { flex: 1 1 0; }
.settings-section .ocr-troubleshooting { margin-top: 1px; }
.ocr-timing-panel{margin-top:9px;padding-top:8px;border-top:1px solid var(--border)}
.ocr-timing-title{margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
#ocr-timing-diagnostics{margin:0;max-height:220px;overflow:auto;scrollbar-gutter:stable;padding:7px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle,rgba(127,127,127,.05));color:var(--ink);font:9px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
.settings-section .settings-search-options { gap: 7px; }

/* Equation bookmark landing cue: brief, non-interactive pointer at the saved formula position. */
.equation-bookmark-cue{transform:translateY(-50%) translateX(-7px);opacity:0;transition:opacity .16s ease,transform .16s ease}
.equation-bookmark-cue.is-visible{opacity:.98;transform:translateY(-50%) translateX(0)}
.equation-bookmark-cue.is-fading{opacity:0;transform:translateY(-50%) translateX(6px)}

/* v228: user correction controls for the inferred document Structure only. */
.outline-edit-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;column-gap:4px;row-gap:0}
.outline-edit-actions{position:fixed;z-index:120;left:0;top:0;right:auto;display:flex;gap:3px;padding:4px;transform:none;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);box-shadow:0 6px 18px rgba(0,0,0,.24);opacity:0;pointer-events:none;transition:opacity .12s ease;isolation:isolate}
.outline-edit-row.has-edit-menu .outline-edit-actions{opacity:1;pointer-events:auto}
.outline-overflow-button{position:static;z-index:auto;grid-column:2;grid-row:1;justify-self:end;align-self:center;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--muted);font:700 17px/20px system-ui,sans-serif;letter-spacing:1px;transform:none;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.outline-overflow-button:hover,.outline-overflow-button:focus-visible{border-color:var(--line-strong);background:var(--surface);color:var(--text)}
.outline-edit-row.has-edit-menu .outline-overflow-button{opacity:1;pointer-events:auto;background:var(--surface);border-color:var(--line-strong);color:var(--text)}
.outline-edit-row>.outline-item,.outline-edit-row>.equation-index-item{grid-column:1;grid-row:1;min-width:0;padding-right:8px}
.outline-edit-button{border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);padding:3px 5px;font:inherit;font-size:.64rem;line-height:1.2;cursor:pointer}.outline-edit-button:hover,.outline-edit-button:focus-visible{border-color:var(--accent);background:var(--surface-soft);color:var(--accent-deep)}
/* v238: Results stay visually clean; deletion is a transient right-click action. */
.structure-entry{position:relative}
.result-edit-actions{position:absolute;z-index:9;right:4px;top:8px;display:flex;gap:3px;padding:4px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);box-shadow:0 6px 18px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .12s ease}
.structure-entry.has-edit-menu .result-edit-actions{opacity:1;pointer-events:auto}

/* v260: Equation confidence filter */
.equation-confidence-filter{position:sticky;top:0;z-index:1;display:flex;justify-content:flex-end;padding:2px 8px 6px 0;background:var(--surface)}
.equation-confidence-filter label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.66rem}
.equation-confidence-filter select{min-width:92px;padding:3px 22px 3px 7px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font:inherit}

/* Equation list manual ordering */
.equation-edit-row[draggable="true"]{cursor:grab}
.equation-edit-row.is-dragging-equation{opacity:.55;cursor:grabbing}
.equation-edit-row.drag-target-before::before,.equation-edit-row.drag-target-after::after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:2px;background:var(--accent);z-index:6;pointer-events:none}
.equation-edit-row.drag-target-before::before{top:-1px}
.equation-edit-row.drag-target-after::after{bottom:-1px}
.equation-edit-row .outline-overflow-button,.equation-edit-row .outline-edit-actions{cursor:default}

/* v356: visible only during confirmed cross-document navigation. */
.crossdoc-return{width:auto;max-width:90px;min-width:0;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
.bibliography-link-picker{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;margin-top:5px;align-items:center}
.bibliography-link-picker select{min-width:0;max-width:100%;font-size:10px;padding:4px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px}
.bibliography-local-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px;padding:4px 6px;font-size:10px;cursor:pointer}
.bibliography-local-button:hover{border-color:var(--line-strong)}

/* v361: P1 commands appear only on reference contextmenu (not inline). */
.bibliography-context-menu{position:fixed;z-index:320;display:grid;min-width:145px;max-width:min(280px,calc(100vw - 12px));padding:3px;border:1px solid var(--line-strong);border-radius:7px;background:var(--paper);box-shadow:0 8px 22px rgba(0,0,0,.2)}
.bibliography-context-action{display:block;width:100%;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-size:11px;text-align:left;cursor:pointer}
.bibliography-context-action:hover,.bibliography-context-action:focus-visible{background:var(--surface-soft)}
.bibliography-context-action:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* v360: mobile reader uses a single full-width grid track. Sidebars are
   positioned overlays, so the five-track desktop collapse rules must not win. */
.mobile-panel-toggle{display:none}
@media(max-width:860px){
  .reader-shell{position:relative}
  .reader-shell .sidebar{top:0;bottom:0}
  .reader-shell,.reader-shell.left-collapsed,.reader-shell.right-collapsed,.reader-shell.left-collapsed.right-collapsed{grid-template-columns:minmax(0,1fr)}
  .mobile-panel-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:30px}
  .reader-toolbar{grid-template-columns:minmax(0,1fr) auto}
  .toolbar-left{min-width:0}
}
@media(max-width:520px){
  .reader-main{grid-template-rows:auto minmax(0,1fr)}
  .reader-toolbar{grid-template-columns:minmax(0,1fr);gap:2px;padding-block:4px}
  .toolbar-left,.toolbar-right{justify-content:center;min-width:0;gap:3px}
  .tool-button{padding-inline:5px;min-width:27px}
  .crossdoc-return{max-width:75px;padding-inline:4px}
  .zoom-label{min-width:72px}
  .header-actions{gap:3px}
  .header-actions .header-help{min-width:34px;height:34px;min-height:34px;padding:0 5px}
}

.mobile-panel-close{display:none}
@media(max-width:860px){
  .mobile-panel-close{display:block;position:sticky;top:0;z-index:28;width:auto;margin:5px 8px 0 auto;padding:5px 9px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font:700 11px/1.3 var(--sans);cursor:pointer}
  .sidebar-right>.mobile-panel-close{margin-right:0}
}

/* Compact manual equation OCR action; shared light/dark theme variables. */
.equation-status-row{display:flex;align-items:center;gap:6px;min-width:0}
.equation-status-row>.equation-detection-status{flex:1;min-width:0;margin:4px 2px 6px}
.equation-force-ocr{flex:none;min-width:34px;padding:3px 6px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted);font-size:.63rem;font-weight:650;cursor:pointer}
.equation-force-ocr:hover:not(:disabled){background:var(--surface-soft);color:var(--accent-deep);border-color:var(--line-strong)}
.equation-force-ocr:disabled{opacity:.45;cursor:default}

/* v390 — Meticulous OCR is a reader context command, never an inline grid row.
   These two DOM elements are intentionally created by installManualPageIndexOcrMenu().
   Keep the menu viewport-fixed (for clientX/clientY positioning) and the
   transient status anchored to its PDF pane, independent of reading scroll. */
.pdf-pane{position:relative}
.page-ocr-context-menu{
  position:fixed;z-index:420;display:grid;
  width:max-content;max-width:calc(100vw - 16px);
  padding:3px;border:1px solid var(--line-strong);border-radius:7px;
  background:var(--surface);color:var(--ink);
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  font:11px/1.4 var(--sans);
}
.page-ocr-context-menu>button{
  display:block;width:100%;min-height:30px;padding:7px 9px;
  border:0;border-radius:4px;background:transparent;color:inherit;
  font:inherit;font-weight:650;text-align:left;cursor:pointer;
  white-space:normal;
}
.page-ocr-context-menu>button:hover:not(:disabled),
.page-ocr-context-menu>button:focus-visible{background:var(--surface-soft)}
.page-ocr-context-menu>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.page-ocr-context-menu>button:disabled{opacity:.45;cursor:not-allowed}
.page-ocr-status{
  position:absolute;bottom:12px;left:12px;z-index:34;
  max-width:calc(100% - 24px);padding:7px 10px;
  overflow-wrap:anywhere;pointer-events:none;
  border:1px solid var(--line-strong);border-radius:6px;
  background:var(--surface);color:var(--ink);
  box-shadow:0 5px 16px rgba(0,0,0,.15);
  font:600 11px/1.45 var(--sans);
}

/* v398: compact, aligned export controls. The two option descriptions belong
   to their respective checkboxes, not to separate grid rows with stacked margins. */
.settings-section #settings-export-group .export-settings-body{gap:4px;padding:0 0 6px}
.export-settings-options{display:grid;gap:4px;min-width:0}
.export-setting-option{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:start;gap:8px;padding:3px 0;cursor:pointer;color:var(--ink);min-width:0}
.export-setting-option input[type="checkbox"]{width:13px;height:13px;margin:2px 0 0;accent-color:var(--accent)}
.export-setting-copy{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.35}
.export-setting-title{font-size:10px;font-weight:500;color:var(--ink)}
.export-setting-description{font-size:9px;line-height:1.4;color:var(--muted);overflow-wrap:break-word}

/* v399: intentional short-copy wrapping, no single-word orphan at supported sidebar widths. */
.sidebar-right .display-note,
.sidebar-right .export-setting-description,
.sidebar-right .note-latex-help,
.sidebar-right .ocr-help,
.sidebar-right .compact-help-body { text-wrap: balance; }

/* v400: Sidebar typography follows the actual parent->child hierarchy.
   The Settings heading belongs to the same 12px tier as every other panel;
   its nested groups must never render larger than their parent. */
.sidebar-right .settings-section > .settings-group > summary {
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
  color: var(--ink);
}
.sidebar-right .settings-section .settings-group-heading {
  font-size: 10px;
  font-weight: 650;
}
