@docmentis/udoc-viewer 0.6.14 → 0.6.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +36 -0
  2. package/dist/package.json +1 -1
  3. package/dist/src/UDocClient.d.ts +12 -0
  4. package/dist/src/UDocClient.d.ts.map +1 -1
  5. package/dist/src/UDocClient.js +25 -4
  6. package/dist/src/UDocClient.js.map +1 -1
  7. package/dist/src/UDocViewer.d.ts +14 -1
  8. package/dist/src/UDocViewer.d.ts.map +1 -1
  9. package/dist/src/UDocViewer.js +33 -1
  10. package/dist/src/UDocViewer.js.map +1 -1
  11. package/dist/src/index.d.ts +1 -0
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/ui/viewer/components/FontsPanel.d.ts +12 -0
  14. package/dist/src/ui/viewer/components/FontsPanel.d.ts.map +1 -0
  15. package/dist/src/ui/viewer/components/FontsPanel.js +141 -0
  16. package/dist/src/ui/viewer/components/FontsPanel.js.map +1 -0
  17. package/dist/src/ui/viewer/components/LeftPanel.d.ts.map +1 -1
  18. package/dist/src/ui/viewer/components/LeftPanel.js +16 -1
  19. package/dist/src/ui/viewer/components/LeftPanel.js.map +1 -1
  20. package/dist/src/ui/viewer/components/Viewport.d.ts.map +1 -1
  21. package/dist/src/ui/viewer/components/Viewport.js +90 -40
  22. package/dist/src/ui/viewer/components/Viewport.js.map +1 -1
  23. package/dist/src/ui/viewer/i18n/ar.d.ts.map +1 -1
  24. package/dist/src/ui/viewer/i18n/ar.js +4 -0
  25. package/dist/src/ui/viewer/i18n/ar.js.map +1 -1
  26. package/dist/src/ui/viewer/i18n/de.d.ts.map +1 -1
  27. package/dist/src/ui/viewer/i18n/de.js +4 -0
  28. package/dist/src/ui/viewer/i18n/de.js.map +1 -1
  29. package/dist/src/ui/viewer/i18n/en.d.ts.map +1 -1
  30. package/dist/src/ui/viewer/i18n/en.js +4 -0
  31. package/dist/src/ui/viewer/i18n/en.js.map +1 -1
  32. package/dist/src/ui/viewer/i18n/es.d.ts.map +1 -1
  33. package/dist/src/ui/viewer/i18n/es.js +4 -0
  34. package/dist/src/ui/viewer/i18n/es.js.map +1 -1
  35. package/dist/src/ui/viewer/i18n/fr.d.ts.map +1 -1
  36. package/dist/src/ui/viewer/i18n/fr.js +4 -0
  37. package/dist/src/ui/viewer/i18n/fr.js.map +1 -1
  38. package/dist/src/ui/viewer/i18n/ja.d.ts.map +1 -1
  39. package/dist/src/ui/viewer/i18n/ja.js +4 -0
  40. package/dist/src/ui/viewer/i18n/ja.js.map +1 -1
  41. package/dist/src/ui/viewer/i18n/ko.d.ts.map +1 -1
  42. package/dist/src/ui/viewer/i18n/ko.js +4 -0
  43. package/dist/src/ui/viewer/i18n/ko.js.map +1 -1
  44. package/dist/src/ui/viewer/i18n/pt-BR.d.ts.map +1 -1
  45. package/dist/src/ui/viewer/i18n/pt-BR.js +4 -0
  46. package/dist/src/ui/viewer/i18n/pt-BR.js.map +1 -1
  47. package/dist/src/ui/viewer/i18n/ru.d.ts.map +1 -1
  48. package/dist/src/ui/viewer/i18n/ru.js +4 -0
  49. package/dist/src/ui/viewer/i18n/ru.js.map +1 -1
  50. package/dist/src/ui/viewer/i18n/types.d.ts +3 -0
  51. package/dist/src/ui/viewer/i18n/types.d.ts.map +1 -1
  52. package/dist/src/ui/viewer/i18n/zh-CN.d.ts.map +1 -1
  53. package/dist/src/ui/viewer/i18n/zh-CN.js +4 -0
  54. package/dist/src/ui/viewer/i18n/zh-CN.js.map +1 -1
  55. package/dist/src/ui/viewer/i18n/zh-TW.d.ts.map +1 -1
  56. package/dist/src/ui/viewer/i18n/zh-TW.js +4 -0
  57. package/dist/src/ui/viewer/i18n/zh-TW.js.map +1 -1
  58. package/dist/src/ui/viewer/icons.d.ts +1 -0
  59. package/dist/src/ui/viewer/icons.d.ts.map +1 -1
  60. package/dist/src/ui/viewer/icons.js +1 -0
  61. package/dist/src/ui/viewer/icons.js.map +1 -1
  62. package/dist/src/ui/viewer/state.d.ts +2 -2
  63. package/dist/src/ui/viewer/state.d.ts.map +1 -1
  64. package/dist/src/ui/viewer/state.js +2 -1
  65. package/dist/src/ui/viewer/state.js.map +1 -1
  66. package/dist/src/ui/viewer/styles-inline.d.ts +1 -1
  67. package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -1
  68. package/dist/src/ui/viewer/styles-inline.js +89 -0
  69. package/dist/src/ui/viewer/styles-inline.js.map +1 -1
  70. package/dist/src/ui/viewer/transition.js +443 -180
  71. package/dist/src/ui/viewer/transition.js.map +1 -1
  72. package/dist/src/wasm/udoc.d.ts +64 -18
  73. package/dist/src/wasm/udoc.js +82 -35
  74. package/dist/src/wasm/udoc_bg.wasm +0 -0
  75. package/dist/src/wasm/udoc_bg.wasm.d.ts +6 -4
  76. package/dist/src/worker/WorkerClient.d.ts +28 -4
  77. package/dist/src/worker/WorkerClient.d.ts.map +1 -1
  78. package/dist/src/worker/WorkerClient.js +91 -7
  79. package/dist/src/worker/WorkerClient.js.map +1 -1
  80. package/dist/src/worker/index.d.ts +1 -1
  81. package/dist/src/worker/index.d.ts.map +1 -1
  82. package/dist/src/worker/worker-inline.js +1 -1
  83. package/dist/src/worker/worker.d.ts +36 -3
  84. package/dist/src/worker/worker.d.ts.map +1 -1
  85. package/dist/src/worker/worker.js +102 -37
  86. package/dist/src/worker/worker.js.map +1 -1
  87. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ru.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/ru.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ru.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/ru.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,8 @@ export interface TranslationKeys {
112
112
  "layers.empty": string;
113
113
  "attachments.empty": string;
114
114
  "layers.visibility": string;
115
+ "fonts.loading": string;
116
+ "fonts.empty": string;
115
117
  "thumbnails.label": string;
116
118
  "thumbnails.pageLabel": string;
117
119
  "spread.pageLabel": string;
@@ -124,6 +126,7 @@ export interface TranslationKeys {
124
126
  "leftPanel.bookmarks": string;
125
127
  "leftPanel.layers": string;
126
128
  "leftPanel.attachments": string;
129
+ "leftPanel.fonts": string;
127
130
  "leftPanel.resizeHandle": string;
128
131
  "rightPanel.searchPanel": string;
129
132
  "rightPanel.commentsPanel": string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-CN.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,IAAI,EAAE,eAqKlB,CAAC"}
1
+ {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-CN.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,IAAI,EAAE,eA0KlB,CAAC"}
@@ -124,6 +124,9 @@ export const zhCN = {
124
124
  // Attachments panel
125
125
  "attachments.empty": "此文档暂无附件",
126
126
  "layers.visibility": "{name} 图层可见性",
127
+ // Fonts panel
128
+ "fonts.loading": "正在加载字体…",
129
+ "fonts.empty": "暂无字体使用数据",
127
130
  // Thumbnail panel
128
131
  "thumbnails.label": "页面缩略图",
129
132
  "thumbnails.pageLabel": "第 {page} 页",
@@ -139,6 +142,7 @@ export const zhCN = {
139
142
  "leftPanel.bookmarks": "书签",
140
143
  "leftPanel.layers": "图层",
141
144
  "leftPanel.attachments": "附件",
145
+ "leftPanel.fonts": "字体",
142
146
  "leftPanel.resizeHandle": "调整侧边面板大小",
143
147
  // Right panel
144
148
  "rightPanel.searchPanel": "搜索面板",
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-CN.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-CN.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zh-TW.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-TW.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,IAAI,EAAE,eAqKlB,CAAC"}
1
+ {"version":3,"file":"zh-TW.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-TW.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,IAAI,EAAE,eA0KlB,CAAC"}
@@ -124,6 +124,9 @@ export const zhTW = {
124
124
  // Attachments panel
125
125
  "attachments.empty": "此文件沒有附件",
126
126
  "layers.visibility": "{name} 圖層可見性",
127
+ // Fonts panel
128
+ "fonts.loading": "正在載入字型…",
129
+ "fonts.empty": "暫無字型使用資料",
127
130
  // Thumbnail panel
128
131
  "thumbnails.label": "頁面縮圖",
129
132
  "thumbnails.pageLabel": "第 {page} 頁",
@@ -139,6 +142,7 @@ export const zhTW = {
139
142
  "leftPanel.bookmarks": "書籤",
140
143
  "leftPanel.layers": "圖層",
141
144
  "leftPanel.attachments": "附件",
145
+ "leftPanel.fonts": "字型",
142
146
  "leftPanel.resizeHandle": "調整側邊面板大小",
143
147
  // Right panel
144
148
  "rightPanel.searchPanel": "搜尋面板",
@@ -1 +1 @@
1
- {"version":3,"file":"zh-TW.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-TW.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAoB;IACjC,kBAAkB;IAClB,sBAAsB,EAAE,MAAM;IAC9B,qBAAqB,EAAE,KAAK;IAC5B,uBAAuB,EAAE,MAAM;IAC/B,sBAAsB,EAAE,IAAI;IAC5B,4BAA4B,EAAE,OAAO;IACrC,mBAAmB,EAAE,4BAA4B;IACjD,mBAAmB,EAAE,eAAe;IACpC,mBAAmB,EAAE,cAAc;IACnC,mBAAmB,EAAE,OAAO;IAC5B,oBAAoB,EAChB,kCAAkC;QAClC,qDAAqD;QACrD,cAAc;IAClB,4BAA4B,EACxB,kCAAkC;QAClC,qDAAqD;QACrD,UAAU;IAEd,UAAU;IACV,eAAe,EAAE,OAAO;IACxB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,OAAO;IACjC,kBAAkB,EAAE,MAAM;IAC1B,qBAAqB,EAAE,MAAM;IAC7B,mBAAmB,EAAE,MAAM;IAC3B,sBAAsB,EAAE,KAAK;IAC7B,kBAAkB,EAAE,KAAK;IACzB,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,MAAM;IAC5B,cAAc,EAAE,IAAI;IAEpB,aAAa;IACb,eAAe,EAAE,MAAM;IACvB,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,MAAM;IAEtB,mBAAmB;IACnB,uBAAuB,EAAE,SAAS;IAElC,eAAe;IACf,oBAAoB,EAAE,SAAS;IAC/B,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,OAAO;IAC3B,sBAAsB,EAAE,uBAAuB;IAC/C,kBAAkB,EAAE,iBAAiB;IACrC,oBAAoB,EAAE,SAAS;IAC/B,kBAAkB,EAAE,MAAM;IAC1B,qBAAqB,EAAE,2BAA2B;IAClD,mBAAmB,EAAE,YAAY;IACjC,qBAAqB,EAAE,MAAM;IAE7B,kBAAkB;IAClB,gBAAgB,EAAE,MAAM;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,MAAM;IAC9B,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,MAAM;IAC/B,uBAAuB,EAAE,MAAM;IAC/B,iBAAiB,EAAE,IAAI;IAEvB,eAAe;IACf,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,MAAM;IAC1B,gBAAgB,EAAE,MAAM;IACxB,mBAAmB,EAAE,eAAe;IACpC,kBAAkB,EAAE,MAAM;IAC1B,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE,IAAI;IACpB,yBAAyB,EAAE,YAAY;IACvC,oBAAoB,EAAE,IAAI;IAC1B,oBAAoB,EAAE,cAAc;IACpC,uBAAuB,EAAE,cAAc;IACvC,mBAAmB,EAAE,eAAe;IACpC,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,sBAAsB,EAAE,sBAAsB;IAC9C,qBAAqB,EAAE,aAAa;IACpC,wBAAwB,EAAE,8CAA8C;IAExE,kBAAkB;IAClB,oBAAoB,EAAE,OAAO;IAC7B,iBAAiB,EAAE,OAAO;IAC1B,oBAAoB,EAAE,SAAS;IAC/B,wBAAwB,EAAE,SAAS;IACnC,uBAAuB,EAAE,gCAAgC;IACzD,sBAAsB,EAAE,oCAAoC;IAC5D,wBAAwB,EAAE,kBAAkB;IAE5C,iBAAiB;IACjB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,MAAM;IAC5B,qBAAqB,EAAE,IAAI;IAC3B,sBAAsB,EAAE,GAAG;IAC3B,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAE5B,mBAAmB;IACnB,sBAAsB,EAAE,IAAI;IAC5B,wBAAwB,EAAE,SAAS;IACnC,qBAAqB,EAAE,SAAS;IAChC,wBAAwB,EAAE,aAAa;IACvC,8BAA8B,EAAE,OAAO;IACvC,yBAAyB,EAAE,MAAM;IACjC,yBAAyB,EAAE,MAAM;IACjC,wBAAwB,EAAE,YAAY;IAEtC,gBAAgB;IAChB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,SAAS;IAC5B,eAAe,EAAE,SAAS;IAE1B,kBAAkB;IAClB,iBAAiB,EAAE,SAAS;IAE5B,eAAe;IACf,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IAEzB,oBAAoB;IACpB,mBAAmB,EAAE,SAAS;IAC9B,mBAAmB,EAAE,cAAc;IAEnC,kBAAkB;IAClB,kBAAkB,EAAE,MAAM;IAC1B,sBAAsB,EAAE,YAAY;IAEpC,sBAAsB;IACtB,kBAAkB,EAAE,YAAY;IAChC,oBAAoB,EAAE,cAAc;IACpC,kBAAkB,EAAE,QAAQ;IAC5B,0BAA0B,EAAE,MAAM;IAElC,kBAAkB;IAClB,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EAAE,IAAI;IAC5B,mBAAmB,EAAE,IAAI;IACzB,qBAAqB,EAAE,IAAI;IAC3B,kBAAkB,EAAE,IAAI;IACxB,uBAAuB,EAAE,IAAI;IAC7B,wBAAwB,EAAE,UAAU;IAEpC,cAAc;IACd,wBAAwB,EAAE,MAAM;IAChC,0BAA0B,EAAE,MAAM;IAClC,yBAAyB,EAAE,QAAQ;CACtC,CAAC"}
1
+ {"version":3,"file":"zh-TW.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/i18n/zh-TW.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare const ICON_OUTLINE = "<svg viewBox=\"0 0 24 24\" fill=\"currentCo
10
10
  export declare const ICON_BOOKMARK = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z\"/></svg>";
11
11
  export declare const ICON_LAYERS = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27-7.38 5.74zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16z\"/></svg>";
12
12
  export declare const ICON_ATTACHMENT = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"/></svg>";
13
+ export declare const ICON_FONTS = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 18H4V4h16v16z\"/><path d=\"M8.5 7h7v2.5h-4.5v2.5h4v2.5h-4V18H8.5z\"/></svg>";
13
14
  export declare const ICON_VISIBILITY = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/></svg>";
14
15
  export declare const ICON_LOCK = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z\"/></svg>";
15
16
  export declare const ICON_VISIBILITY_OFF = "<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"/></svg>";
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,+KAAyK,CAAC;AAEjM,eAAO,MAAM,SAAS,6NAAuN,CAAC;AAE9O,eAAO,MAAM,SAAS,uHAAiH,CAAC;AAExI,eAAO,MAAM,WAAW,oRAA8Q,CAAC;AAEvS,eAAO,MAAM,aAAa,oMAA8L,CAAC;AAEzN,eAAO,MAAM,eAAe,wJAAkJ,CAAC;AAE/K,eAAO,MAAM,oBAAoB,uJAAiJ,CAAC;AAGnL,eAAO,MAAM,cAAc,6MAAuM,CAAC;AAEnO,eAAO,MAAM,YAAY,gKAA0J,CAAC;AAEpL,eAAO,MAAM,aAAa,8HAAwH,CAAC;AAEnJ,eAAO,MAAM,WAAW,qLAA+K,CAAC;AAExM,eAAO,MAAM,eAAe,sUAAgU,CAAC;AAE7V,eAAO,MAAM,eAAe,2RAAqR,CAAC;AAElT,eAAO,MAAM,SAAS,2SAAqS,CAAC;AAE5T,eAAO,MAAM,mBAAmB,mkBAA6jB,CAAC;AAG9lB,eAAO,MAAM,iBAAiB,uHAAiH,CAAC;AAEhJ,eAAO,MAAM,kBAAkB,wHAAkH,CAAC;AAElJ,eAAO,MAAM,iBAAiB,iIAA2H,CAAC;AAE1J,eAAO,MAAM,eAAe,kIAA4H,CAAC;AAEzJ,eAAO,MAAM,YAAY,qTAA+S,CAAC;AAEzU,eAAO,MAAM,aAAa,+RAAyR,CAAC;AAGpT,eAAO,MAAM,cAAc,iMAA2L,CAAC;AAGvN,eAAO,MAAM,kBAAkB,0JAAwI,CAAC;AAExK,eAAO,MAAM,sBAAsB,2KAA+J,CAAC;AAGnM,eAAO,MAAM,kBAAkB,0JAAwI,CAAC;AAExK,eAAO,MAAM,kBAAkB,oNAAwL,CAAC;AAExN,eAAO,MAAM,4BAA4B,6OAA+M,CAAC;AAEzP,eAAO,MAAM,2BAA2B,6OAA+M,CAAC;AAGxP,eAAO,MAAM,aAAa,2KAA+J,CAAC;AAE1L,eAAO,MAAM,cAAc,8KAAkK,CAAC;AAE9L,eAAO,MAAM,eAAe,8KAAkK,CAAC;AAE/L,eAAO,MAAM,eAAe,2KAA+J,CAAC;AAI5L,eAAO,MAAM,gBAAgB,qJAA2I,CAAC;AAGzK,eAAO,MAAM,iBAAiB,6HAAmH,CAAC;AAGlJ,eAAO,MAAM,mBAAmB,qJAA2I,CAAC;AAG5K,eAAO,MAAM,iBAAiB,qJAA2I,CAAC;AAG1K,eAAO,MAAM,aAAa,mHAA6G,CAAC;AAGxI,eAAO,MAAM,UAAU,2NAAqN,CAAC;AAG7O,eAAO,MAAM,UAAU,2HAAqH,CAAC;AAG7I,eAAO,MAAM,gBAAgB,m1BAA60B,CAAC;AAE32B,eAAO,MAAM,eAAe,yVAAmV,CAAC;AAEhX,eAAO,MAAM,iBAAiB,gLAA0K,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,+KAAyK,CAAC;AAEjM,eAAO,MAAM,SAAS,6NAAuN,CAAC;AAE9O,eAAO,MAAM,SAAS,uHAAiH,CAAC;AAExI,eAAO,MAAM,WAAW,oRAA8Q,CAAC;AAEvS,eAAO,MAAM,aAAa,oMAA8L,CAAC;AAEzN,eAAO,MAAM,eAAe,wJAAkJ,CAAC;AAE/K,eAAO,MAAM,oBAAoB,uJAAiJ,CAAC;AAGnL,eAAO,MAAM,cAAc,6MAAuM,CAAC;AAEnO,eAAO,MAAM,YAAY,gKAA0J,CAAC;AAEpL,eAAO,MAAM,aAAa,8HAAwH,CAAC;AAEnJ,eAAO,MAAM,WAAW,qLAA+K,CAAC;AAExM,eAAO,MAAM,eAAe,sUAAgU,CAAC;AAE7V,eAAO,MAAM,UAAU,0NAAkN,CAAC;AAE1O,eAAO,MAAM,eAAe,2RAAqR,CAAC;AAElT,eAAO,MAAM,SAAS,2SAAqS,CAAC;AAE5T,eAAO,MAAM,mBAAmB,mkBAA6jB,CAAC;AAG9lB,eAAO,MAAM,iBAAiB,uHAAiH,CAAC;AAEhJ,eAAO,MAAM,kBAAkB,wHAAkH,CAAC;AAElJ,eAAO,MAAM,iBAAiB,iIAA2H,CAAC;AAE1J,eAAO,MAAM,eAAe,kIAA4H,CAAC;AAEzJ,eAAO,MAAM,YAAY,qTAA+S,CAAC;AAEzU,eAAO,MAAM,aAAa,+RAAyR,CAAC;AAGpT,eAAO,MAAM,cAAc,iMAA2L,CAAC;AAGvN,eAAO,MAAM,kBAAkB,0JAAwI,CAAC;AAExK,eAAO,MAAM,sBAAsB,2KAA+J,CAAC;AAGnM,eAAO,MAAM,kBAAkB,0JAAwI,CAAC;AAExK,eAAO,MAAM,kBAAkB,oNAAwL,CAAC;AAExN,eAAO,MAAM,4BAA4B,6OAA+M,CAAC;AAEzP,eAAO,MAAM,2BAA2B,6OAA+M,CAAC;AAGxP,eAAO,MAAM,aAAa,2KAA+J,CAAC;AAE1L,eAAO,MAAM,cAAc,8KAAkK,CAAC;AAE9L,eAAO,MAAM,eAAe,8KAAkK,CAAC;AAE/L,eAAO,MAAM,eAAe,2KAA+J,CAAC;AAI5L,eAAO,MAAM,gBAAgB,qJAA2I,CAAC;AAGzK,eAAO,MAAM,iBAAiB,6HAAmH,CAAC;AAGlJ,eAAO,MAAM,mBAAmB,qJAA2I,CAAC;AAG5K,eAAO,MAAM,iBAAiB,qJAA2I,CAAC;AAG1K,eAAO,MAAM,aAAa,mHAA6G,CAAC;AAGxI,eAAO,MAAM,UAAU,2NAAqN,CAAC;AAG7O,eAAO,MAAM,UAAU,2HAAqH,CAAC;AAG7I,eAAO,MAAM,gBAAgB,m1BAA60B,CAAC;AAE32B,eAAO,MAAM,eAAe,yVAAmV,CAAC;AAEhX,eAAO,MAAM,iBAAiB,gLAA0K,CAAC"}
@@ -11,6 +11,7 @@ export const ICON_OUTLINE = `<svg viewBox="0 0 24 24" fill="currentColor"><path
11
11
  export const ICON_BOOKMARK = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"/></svg>`;
12
12
  export const ICON_LAYERS = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M11.99 18.54l-7.37-5.73L3 14.07l9 7 9-7-1.63-1.27-7.38 5.74zM12 16l7.36-5.73L21 9l-9-7-9 7 1.63 1.27L12 16z"/></svg>`;
13
13
  export const ICON_ATTACHMENT = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/></svg>`;
14
+ export const ICON_FONTS = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 18H4V4h16v16z"/><path d="M8.5 7h7v2.5h-4.5v2.5h4v2.5h-4V18H8.5z"/></svg>`;
14
15
  export const ICON_VISIBILITY = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>`;
15
16
  export const ICON_LOCK = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/></svg>`;
16
17
  export const ICON_VISIBILITY_OFF = `<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"/></svg>`;
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../src/ui/viewer/icons.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export interface VisibilityGroup {
26
26
  visible: boolean;
27
27
  locked: boolean;
28
28
  }
29
- export type LeftPanelTab = "thumbnail" | "outline" | "bookmarks" | "layers" | "attachments";
29
+ export type LeftPanelTab = "thumbnail" | "outline" | "bookmarks" | "layers" | "attachments" | "fonts";
30
30
  export type RightPanelTab = "search" | "comments";
31
31
  export type PanelTab = LeftPanelTab | RightPanelTab;
32
32
  export declare function isLeftPanelTab(tab: PanelTab): tab is LeftPanelTab;
@@ -37,7 +37,7 @@ export type PageRotation = 0 | 90 | 180 | 270;
37
37
  export type SpacingMode = "all" | "none" | "spread-only" | "page-only";
38
38
  export type ThemeMode = "light" | "dark" | "system";
39
39
  /** Document format as detected during loading */
40
- export type DocumentFormat = "pdf" | "pptx" | "docx" | "image";
40
+ export type DocumentFormat = "pdf" | "pptx" | "docx" | "xlsx" | "image";
41
41
  /** Subset of view mode state that can be overridden per format */
42
42
  export interface ViewModeDefaults {
43
43
  scrollMode?: ScrollMode;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/state.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const LEFT_TABS = new Set(["thumbnail", "outline", "bookmarks", "layers", "attachments"]);
1
+ const LEFT_TABS = new Set(["thumbnail", "outline", "bookmarks", "layers", "attachments", "fonts"]);
2
2
  export function isLeftPanelTab(tab) {
3
3
  return LEFT_TABS.has(tab);
4
4
  }
@@ -7,6 +7,7 @@ export function getFormatDefaults(format) {
7
7
  switch (format) {
8
8
  case "pdf":
9
9
  case "docx":
10
+ case "xlsx":
10
11
  return { scrollMode: "continuous", zoomMode: "fit-spread-width-max" };
11
12
  case "pptx":
12
13
  case "image":
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/ui/viewer/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/ui/viewer/state.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const inlineStyles = ".udoc-viewer-root {\n /* === Theme Variables (Light) === */\n --udoc-bg-viewport: #e0e0e0;\n --udoc-bg-surface: #fff;\n --udoc-bg-panel: #f5f5f5;\n --udoc-bg-panel-tabs: #e8e8e8;\n --udoc-bg-page-header: #f0f0f0;\n --udoc-bg-reply: #fafafa;\n --udoc-bg-input: #fff;\n --udoc-bg-overlay: rgba(0, 0, 0, 0.5);\n --udoc-bg-loading: rgba(224, 224, 224, 0.95);\n\n --udoc-text-primary: rgba(0, 0, 0, 0.8);\n --udoc-text-secondary: rgba(0, 0, 0, 0.7);\n --udoc-text-tertiary: rgba(0, 0, 0, 0.6);\n --udoc-text-muted: rgba(0, 0, 0, 0.58);\n --udoc-text-faint: rgba(0, 0, 0, 0.52);\n --udoc-text-disabled: rgba(0, 0, 0, 0.25);\n --udoc-text-heading: #333;\n --udoc-text-body: #555;\n --udoc-text-label: #666;\n --udoc-text-subtle: #767676;\n --udoc-text-placeholder: #999;\n --udoc-text-on-primary: #fff;\n\n --udoc-primary: #0066cc;\n --udoc-primary-hover: #0052a3;\n --udoc-primary-active-bg: rgba(0, 102, 204, 0.15);\n --udoc-primary-active-bg-hover: rgba(0, 102, 204, 0.2);\n --udoc-primary-subtle-bg: rgba(0, 102, 204, 0.1);\n --udoc-primary-focus-ring: rgba(0, 102, 204, 0.2);\n --udoc-primary-muted: rgba(0, 102, 204, 0.3);\n --udoc-primary-disabled: #94a3b8;\n\n --udoc-border: #ddd;\n --udoc-border-input: #ccc;\n --udoc-border-light: #eee;\n --udoc-border-medium: #e0e0e0;\n\n --udoc-hover-overlay: rgba(0, 0, 0, 0.08);\n --udoc-active-overlay: rgba(0, 0, 0, 0.12);\n --udoc-pressed-overlay: rgba(0, 0, 0, 0.15);\n --udoc-subtle-hover: rgba(0, 0, 0, 0.05);\n --udoc-faint-hover: rgba(0, 0, 0, 0.04);\n\n --udoc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);\n --udoc-shadow-page: 0 2px 8px rgba(0, 0, 0, 0.15);\n --udoc-shadow-toolbar: 0 2px 12px rgba(0, 0, 0, 0.15);\n --udoc-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.2);\n --udoc-shadow-dialog: 0 8px 32px rgba(0, 0, 0, 0.3);\n --udoc-shadow-panel: 4px 0 20px rgba(0, 0, 0, 0.15);\n\n --udoc-search-highlight: rgba(255, 200, 0, 0.35);\n --udoc-search-highlight-active: rgba(255, 140, 0, 0.6);\n --udoc-search-highlight-active-outline: rgba(255, 140, 0, 0.8);\n --udoc-search-match-bg: rgba(255, 200, 0, 0.4);\n --udoc-search-match-text: #000;\n --udoc-search-result-active-bg: rgba(0, 102, 204, 0.08);\n\n --udoc-text-selection: rgba(0, 120, 215, 0.3);\n\n --udoc-annotation-bg: #ffffc0;\n --udoc-annotation-header-bg: #f0f0c0;\n --udoc-annotation-border: #d4d4a0;\n\n --udoc-status-accepted-bg: #d4edda;\n --udoc-status-accepted-text: #155724;\n --udoc-status-rejected-bg: #f8d7da;\n --udoc-status-rejected-text: #721c24;\n --udoc-status-completed-bg: #cce5ff;\n --udoc-status-completed-text: #004085;\n --udoc-status-cancelled-bg: #e2e3e5;\n --udoc-status-cancelled-text: #383d41;\n --udoc-status-marked-bg: #fff3cd;\n --udoc-status-marked-text: #856404;\n\n --udoc-error-bg: #fef2f2;\n --udoc-error-border: #fecaca;\n --udoc-error-text: #dc2626;\n\n --udoc-progress-track: #e5e7eb;\n --udoc-progress-fill: #0066cc;\n\n --udoc-scrollbar-thumb: rgba(0, 0, 0, 0.3);\n --udoc-scrollbar-thumb-hover: rgba(0, 0, 0, 0.5);\n\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n container-type: inline-size;\n container-name: udoc-viewer;\n}\n\n.udoc-viewer-root.udoc-viewer-dark {\n --udoc-bg-viewport: #1a1a1a;\n --udoc-bg-surface: #2d2d2d;\n --udoc-bg-panel: #252525;\n --udoc-bg-panel-tabs: #1e1e1e;\n --udoc-bg-page-header: #2a2a2a;\n --udoc-bg-reply: #333;\n --udoc-bg-input: #3a3a3a;\n --udoc-bg-overlay: rgba(0, 0, 0, 0.7);\n --udoc-bg-loading: rgba(30, 30, 30, 0.95);\n\n --udoc-text-primary: rgba(255, 255, 255, 0.87);\n --udoc-text-secondary: rgba(255, 255, 255, 0.7);\n --udoc-text-tertiary: rgba(255, 255, 255, 0.6);\n --udoc-text-muted: rgba(255, 255, 255, 0.64);\n --udoc-text-faint: rgba(255, 255, 255, 0.56);\n --udoc-text-disabled: rgba(255, 255, 255, 0.25);\n --udoc-text-heading: #e0e0e0;\n --udoc-text-body: #bbb;\n --udoc-text-label: #aaa;\n --udoc-text-subtle: #a0a0a0;\n --udoc-text-placeholder: #777;\n --udoc-text-on-primary: #fff;\n\n --udoc-primary: #4da6ff;\n --udoc-primary-hover: #80bfff;\n --udoc-primary-active-bg: rgba(77, 166, 255, 0.2);\n --udoc-primary-active-bg-hover: rgba(77, 166, 255, 0.25);\n --udoc-primary-subtle-bg: rgba(77, 166, 255, 0.12);\n --udoc-primary-focus-ring: rgba(77, 166, 255, 0.25);\n --udoc-primary-muted: rgba(77, 166, 255, 0.35);\n --udoc-primary-disabled: #4a5568;\n\n --udoc-border: #444;\n --udoc-border-input: #555;\n --udoc-border-light: #3a3a3a;\n --udoc-border-medium: #404040;\n\n --udoc-hover-overlay: rgba(255, 255, 255, 0.08);\n --udoc-active-overlay: rgba(255, 255, 255, 0.12);\n --udoc-pressed-overlay: rgba(255, 255, 255, 0.15);\n --udoc-subtle-hover: rgba(255, 255, 255, 0.05);\n --udoc-faint-hover: rgba(255, 255, 255, 0.04);\n\n --udoc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);\n --udoc-shadow-page: 0 2px 8px rgba(0, 0, 0, 0.4);\n --udoc-shadow-toolbar: 0 2px 12px rgba(0, 0, 0, 0.4);\n --udoc-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.5);\n --udoc-shadow-dialog: 0 8px 32px rgba(0, 0, 0, 0.6);\n --udoc-shadow-panel: 4px 0 20px rgba(0, 0, 0, 0.4);\n\n --udoc-search-highlight: rgba(255, 200, 0, 0.4);\n --udoc-search-highlight-active: rgba(255, 140, 0, 0.65);\n --udoc-search-highlight-active-outline: rgba(255, 140, 0, 0.85);\n --udoc-search-match-bg: rgba(255, 200, 0, 0.3);\n --udoc-search-match-text: #fff;\n --udoc-search-result-active-bg: rgba(77, 166, 255, 0.12);\n\n --udoc-text-selection: rgba(77, 166, 255, 0.35);\n\n --udoc-annotation-bg: #4a4a20;\n --udoc-annotation-header-bg: #3a3a18;\n --udoc-annotation-border: #5a5a30;\n\n --udoc-status-accepted-bg: #1a3a1a;\n --udoc-status-accepted-text: #6fcf6f;\n --udoc-status-rejected-bg: #3a1a1a;\n --udoc-status-rejected-text: #f08080;\n --udoc-status-completed-bg: #1a2a3a;\n --udoc-status-completed-text: #80b8ff;\n --udoc-status-cancelled-bg: #2a2a2a;\n --udoc-status-cancelled-text: #aaa;\n --udoc-status-marked-bg: #3a3520;\n --udoc-status-marked-text: #d4b44a;\n\n --udoc-error-bg: #3a1c1c;\n --udoc-error-border: #6b2c2c;\n --udoc-error-text: #f87171;\n\n --udoc-progress-track: #404040;\n --udoc-progress-fill: #4da6ff;\n\n --udoc-scrollbar-thumb: rgba(255, 255, 255, 0.3);\n --udoc-scrollbar-thumb-hover: rgba(255, 255, 255, 0.5);\n}\n\n.udoc-viewer-root .udoc-toolbar-slot {\n flex: 0 0 auto;\n position: relative;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-body-slot {\n flex: 1 1 auto;\n display: flex;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-right-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-viewport-slot {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-viewport {\n position: relative;\n width: 100%;\n height: 100%;\n background: var(--udoc-bg-viewport);\n}\n\n.udoc-viewer-root .udoc-viewport__content {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-viewport__scroll {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n /* scrollbar visibility is managed dynamically by Viewport.ts */\n}\n\n.udoc-viewer-root .udoc-viewport__container {\n position: relative;\n min-height: 100%;\n box-sizing: border-box;\n /* height set dynamically for virtual scrolling */\n}\n\n/* Spread */\n.udoc-viewer-root .udoc-spread {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-spread__wrapper {\n display: flex;\n flex-direction: row;\n flex-shrink: 0;\n /* gap is set dynamically by Spread.ts based on pageSpacing */\n}\n\n.udoc-viewer-root .udoc-spread--hidden {\n display: none;\n}\n\n/* Page slot within spread */\n.udoc-viewer-root .udoc-spread__slot {\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n box-shadow: var(--udoc-shadow-page);\n}\n\n.udoc-viewer-root .udoc-viewport--seamless .udoc-spread__slot {\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__slot--empty {\n background: transparent;\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__preview-canvas {\n display: none;\n image-rendering: auto;\n}\n\n.udoc-viewer-root .udoc-spread__canvas {\n display: block;\n}\n\n/* Floating Toolbar */\n.udoc-viewer-root .udoc-floating-toolbar {\n position: absolute;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: 4px;\n height: 40px;\n padding: 0 10px;\n background: var(--udoc-bg-surface);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-toolbar);\n z-index: 100;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__section {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__divider {\n width: 1px;\n height: 20px;\n background: var(--udoc-pressed-overlay);\n margin: 0 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-secondary);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:active {\n background: var(--udoc-pressed-overlay);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled {\n color: var(--udoc-text-disabled);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-info {\n display: flex;\n align-items: center;\n color: var(--udoc-text-primary);\n font-size: 13px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input {\n width: 36px;\n padding: 2px 4px;\n border: 1px solid var(--udoc-pressed-overlay);\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input:focus {\n outline: none;\n border-color: var(--udoc-scrollbar-thumb);\n background: var(--udoc-bg-input);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-total {\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__zoom-level {\n min-width: 44px;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn--active {\n background: var(--udoc-active-overlay);\n}\n\n/* Zoom Dropdown */\n.udoc-viewer-root .udoc-zoom-dropdown {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle {\n display: flex;\n align-items: center;\n gap: 0;\n height: 100%;\n border: 1px solid var(--udoc-pressed-overlay);\n border-radius: 4px;\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle:focus-within {\n border-color: var(--udoc-scrollbar-thumb);\n background: var(--udoc-bg-input);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input {\n width: 44px;\n padding: 2px 4px;\n border: none;\n border-radius: 4px 0 0 4px;\n background: transparent;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input:focus {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 100%;\n padding: 2px 2px;\n border: none;\n border-left: 1px solid var(--udoc-subtle-hover);\n border-radius: 0 4px 4px 0;\n background: transparent;\n color: var(--udoc-text-muted);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron:hover {\n background: var(--udoc-hover-overlay);\n color: var(--udoc-text-secondary);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron--active {\n background: var(--udoc-active-overlay);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__menu {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: 6px;\n background: var(--udoc-bg-surface);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-dropdown);\n min-width: 100px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__section {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__divider {\n height: 1px;\n background: var(--udoc-subtle-hover);\n margin: 6px 0;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item {\n display: block;\n width: 100%;\n padding: 6px 10px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active {\n background: var(--udoc-primary-active-bg);\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active:hover {\n background: var(--udoc-primary-active-bg-hover);\n}\n\n/* View Mode Menu */\n.udoc-viewer-root .udoc-view-mode-menu {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__dropdown {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 0;\n padding: 8px;\n background: var(--udoc-bg-surface);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-dropdown);\n min-width: 160px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section {\n margin-bottom: 8px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section:last-child {\n margin-bottom: 0;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__title {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--udoc-text-muted);\n margin-bottom: 4px;\n padding: 0 4px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__options {\n display: flex;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-tertiary);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active {\n background: var(--udoc-primary-active-bg);\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active:hover {\n background: var(--udoc-primary-active-bg-hover);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled {\n color: var(--udoc-text-disabled);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon svg {\n width: 20px;\n height: 20px;\n}\n\n/* Left Panel */\n.udoc-viewer-root .udoc-left-panel {\n position: relative;\n display: flex;\n width: 240px;\n height: 100%;\n background: var(--udoc-bg-panel);\n border-right: 1px solid var(--udoc-border);\n overflow: hidden;\n transition: width 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-left-panel--closed {\n width: 0;\n border-right: none;\n}\n\n.udoc-viewer-root .udoc-left-panel__tabs {\n display: flex;\n flex-direction: column;\n width: 40px;\n background: var(--udoc-bg-panel-tabs);\n border-right: 1px solid var(--udoc-border);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--udoc-text-label);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab--active {\n background: var(--udoc-bg-panel);\n color: var(--udoc-text-heading);\n border-right: 2px solid var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-left-panel__content {\n flex: 1;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle {\n position: absolute;\n right: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-left-panel--resizing .udoc-left-panel__resize-handle {\n background: var(--udoc-primary-muted);\n}\n\n.udoc-viewer-root .udoc-left-panel--resizing {\n transition: none;\n}\n\n/* Thumbnail Panel */\n.udoc-viewer-root .udoc-thumbnail-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 8px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n flex-shrink: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item:hover {\n background: var(--udoc-subtle-hover);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active {\n background: var(--udoc-primary-subtle-bg);\n outline: 2px solid var(--udoc-primary);\n outline-offset: -2px;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__canvas {\n display: block;\n max-width: calc(100% - 16px);\n background: white;\n box-shadow: var(--udoc-shadow-sm);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__label {\n font-size: 11px;\n color: var(--udoc-text-label);\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active .udoc-thumbnail-item__label {\n color: var(--udoc-primary);\n font-weight: 500;\n}\n\n/* Outline Panel */\n.udoc-viewer-root .udoc-outline-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px 0;\n}\n\n.udoc-viewer-root .udoc-outline-panel__loading,\n.udoc-viewer-root .udoc-panel-empty {\n padding: 16px;\n color: var(--udoc-text-subtle);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-outline-item {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-outline-item__header {\n display: flex;\n align-items: center;\n padding: 6px 12px 6px 8px;\n gap: 4px;\n min-height: 28px;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable {\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable:hover {\n background: var(--udoc-subtle-hover);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active {\n background: var(--udoc-primary-subtle-bg);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active .udoc-outline-item__title {\n color: var(--udoc-primary);\n font-weight: 500;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--udoc-text-label);\n cursor: pointer;\n flex-shrink: 0;\n transition: transform 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle:hover {\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle--expanded {\n transform: rotate(90deg);\n}\n\n.udoc-viewer-root .udoc-outline-item__spacer {\n width: 16px;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-outline-item__title {\n font-size: 13px;\n color: var(--udoc-text-heading);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n/* .udoc-outline-item__children: Indentation is handled via padding-left on header */\n\n/* Layers panel */\n.udoc-viewer-root .udoc-layers-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px 0;\n}\n\n.udoc-viewer-root .udoc-layers-panel__loading,\n.udoc-viewer-root .udoc-layers-panel__item {\n display: flex;\n align-items: center;\n padding: 6px 12px;\n gap: 8px;\n min-height: 32px;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-layers-panel__item:hover {\n background: var(--udoc-subtle-hover);\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--udoc-text-heading);\n cursor: pointer;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle:hover {\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle--hidden {\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-layers-panel__label {\n font-size: 13px;\n color: var(--udoc-text-heading);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-layers-panel__label--hidden {\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-layers-panel__item--locked {\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-layers-panel__item--locked .udoc-layers-panel__toggle {\n cursor: default;\n opacity: 0.5;\n}\n\n.udoc-viewer-root .udoc-layers-panel__item--locked .udoc-layers-panel__label {\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-layers-panel__lock {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n flex-shrink: 0;\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-layers-panel__lock svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-toolbar {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 8px;\n background: var(--udoc-bg-panel);\n border-bottom: 1px solid var(--udoc-border);\n}\n\n.udoc-viewer-root .udoc-toolbar__left,\n.udoc-viewer-root .udoc-toolbar__right {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-toolbar__right {\n margin-left: auto;\n}\n\n.udoc-viewer-root .udoc-toolbar__spacer {\n flex: 1;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-body);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:active {\n background: var(--udoc-active-overlay);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn svg {\n width: 20px;\n height: 20px;\n}\n\n/* Toolbar center section (inline controls when floating toolbar is hidden) */\n.udoc-viewer-root .udoc-toolbar__center {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n justify-content: flex-start;\n}\n\n/* Overflow menu (hidden on desktop, shown on mobile) */\n.udoc-viewer-root .udoc-overflow-menu {\n display: none;\n position: relative;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__dropdown {\n position: absolute;\n top: 100%;\n right: 0;\n margin-top: 4px;\n min-width: 180px;\n background: var(--udoc-bg-surface);\n border: 1px solid var(--udoc-border);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-dialog);\n padding: 4px 0;\n z-index: 200;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 14px;\n border: none;\n background: transparent;\n color: var(--udoc-text-body);\n font-size: 14px;\n cursor: pointer;\n text-align: left;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item-icon svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-toolbar__group {\n display: flex;\n align-items: center;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-toolbar__divider {\n width: 1px;\n height: 20px;\n background: var(--udoc-border);\n margin: 0 4px;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn--nav {\n width: 28px;\n height: 28px;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn--nav svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-toolbar__page-info {\n display: flex;\n align-items: center;\n font-size: 13px;\n color: var(--udoc-text-body);\n}\n\n.udoc-viewer-root .udoc-toolbar__page-input {\n width: 36px;\n height: 24px;\n border: 1px solid var(--udoc-border-input);\n border-radius: 3px;\n text-align: center;\n font-size: 13px;\n padding: 0 2px;\n background: var(--udoc-bg-input);\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-toolbar__page-input:focus {\n outline: none;\n border-color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-toolbar__page-total {\n font-size: 13px;\n color: var(--udoc-text-muted);\n white-space: nowrap;\n}\n\n/* Zoom dropdown in toolbar: drops down instead of up */\n.udoc-viewer-root .udoc-zoom-dropdown--toolbar .udoc-zoom-dropdown__menu {\n bottom: auto;\n top: calc(100% + 8px);\n}\n\n/* View mode menu in toolbar: drops down instead of up */\n.udoc-viewer-root .udoc-toolbar__center .udoc-view-mode-menu__dropdown {\n bottom: auto;\n top: calc(100% + 8px);\n}\n\n/* Right Panel */\n.udoc-viewer-root .udoc-right-panel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 300px;\n height: 100%;\n background: var(--udoc-bg-panel);\n border-left: 1px solid var(--udoc-border);\n overflow: hidden;\n transition: width 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-right-panel--closed {\n width: 0;\n border-left: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle {\n position: absolute;\n left: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-right-panel--resizing .udoc-right-panel__resize-handle {\n background: var(--udoc-primary-muted);\n}\n\n.udoc-viewer-root .udoc-right-panel--resizing {\n transition: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__content {\n flex: 1;\n overflow: auto;\n}\n\n/* Text Layer (for text selection) */\n.udoc-viewer-root .udoc-spread__text-layer {\n position: absolute;\n overflow: hidden;\n /* user-select: none prevents selection from starting/extending in gaps */\n user-select: none;\n pointer-events: auto;\n z-index: 1;\n /* Isolate compositing so overlapping span ::selection backgrounds\n don't double-darken. Selection is painted opaque inside the group,\n then the whole layer is rendered at 30% opacity onto the page. */\n isolation: isolate;\n opacity: 0.3;\n}\n\n.udoc-viewer-root .udoc-text-span {\n position: absolute;\n color: transparent;\n white-space: pre;\n line-height: 1;\n font-family: sans-serif;\n /* Allow selection on actual text spans */\n user-select: text;\n}\n\n.udoc-viewer-root .udoc-text-span::selection {\n background: var(--udoc-text-selection);\n}\n\n/* Text selection disabled */\n.udoc-viewer--no-text-select .udoc-spread__text-layer {\n pointer-events: none;\n}\n\n.udoc-viewer--no-text-select .udoc-text-span {\n user-select: none;\n}\n\n/* Annotation Layer */\n.udoc-viewer-root .udoc-spread__annotation-layer {\n position: absolute;\n pointer-events: none;\n z-index: 2;\n}\n\n/* Base annotation */\n.udoc-viewer-root .udoc-annotation {\n position: absolute;\n box-sizing: border-box;\n}\n\n/* Link annotation */\n.udoc-viewer-root .udoc-annotation--link {\n pointer-events: auto;\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--link:hover {\n background-color: var(--udoc-primary-active-bg);\n}\n\n/* Highlight annotation */\n.udoc-viewer-root .udoc-annotation--highlight {\n pointer-events: none;\n}\n\n.udoc-viewer-root .udoc-annotation__quad {\n mix-blend-mode: multiply;\n}\n\n/* Underline annotation */\n.udoc-viewer-root .udoc-annotation--underline {\n pointer-events: none;\n}\n\n/* StrikeOut annotation */\n.udoc-viewer-root .udoc-annotation--strikeout {\n pointer-events: none;\n}\n\n/* Squiggly annotation */\n.udoc-viewer-root .udoc-annotation--squiggly {\n pointer-events: none;\n}\n\n/* Text (sticky note) annotation */\n.udoc-viewer-root .udoc-annotation--text {\n pointer-events: auto;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: filter 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--text:hover {\n filter: brightness(1.1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));\n}\n\n.udoc-viewer-root .udoc-annotation--text svg {\n width: 100%;\n height: 100%;\n}\n\n/* Annotation popup */\n.udoc-viewer-root .udoc-annotation-popup {\n position: absolute;\n z-index: 100;\n min-width: 200px;\n max-width: 300px;\n background: var(--udoc-annotation-bg);\n border: 1px solid var(--udoc-annotation-border);\n border-radius: 4px;\n box-shadow: var(--udoc-shadow-page);\n font-size: 12px;\n color: var(--udoc-text-heading);\n pointer-events: auto;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 8px;\n background: var(--udoc-annotation-header-bg);\n border-bottom: 1px solid var(--udoc-annotation-border);\n border-radius: 4px 4px 0 0;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__author {\n font-weight: 600;\n color: var(--udoc-text-body);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close {\n width: 16px;\n height: 16px;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.6;\n flex-shrink: 0;\n margin-left: 8px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close:hover {\n opacity: 1;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close svg {\n width: 12px;\n height: 12px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__content {\n padding: 8px;\n white-space: pre-wrap;\n word-wrap: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n/* FreeText annotation */\n.udoc-viewer-root .udoc-annotation--freetext {\n pointer-events: auto;\n overflow: hidden;\n font-size: 12px;\n padding: 2px;\n}\n\n/* Stamp annotation */\n.udoc-viewer-root .udoc-annotation--stamp {\n pointer-events: none;\n}\n\n/* Caret annotation - rendered via SVG, minimal styling needed */\n.udoc-viewer-root .udoc-annotation--caret {\n pointer-events: none;\n}\n\n/* Shape annotations - rendered via SVG overlay */\n.udoc-viewer-root .udoc-annotation--line,\n.udoc-viewer-root .udoc-annotation--square,\n.udoc-viewer-root .udoc-annotation--circle,\n.udoc-viewer-root .udoc-annotation--polygon,\n.udoc-viewer-root .udoc-annotation--polyLine,\n.udoc-viewer-root .udoc-annotation--ink {\n pointer-events: none;\n}\n\n/* Redact annotation */\n.udoc-viewer-root .udoc-annotation--redact {\n pointer-events: none;\n}\n\n/* Annotation Panel */\n.udoc-viewer-root .udoc-annotation-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--udoc-text-subtle);\n font-size: 13px;\n}\n\n/* Comments List */\n.udoc-viewer-root .udoc-comments-list {\n display: flex;\n flex-direction: column;\n}\n\n/* Page Group */\n.udoc-viewer-root .udoc-comments-page-group {\n border-bottom: 1px solid var(--udoc-border-medium);\n}\n\n.udoc-viewer-root .udoc-comments-page-group:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comments-page-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 12px;\n cursor: pointer;\n user-select: none;\n background: var(--udoc-bg-page-header);\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comments-page-header:hover {\n background: var(--udoc-bg-panel-tabs);\n}\n\n.udoc-viewer-root .udoc-comments-page-header svg {\n width: 16px;\n height: 16px;\n color: var(--udoc-text-label);\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comments-page-header span {\n font-size: 13px;\n font-weight: 500;\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-comments-page-count {\n margin-left: auto;\n padding: 2px 6px;\n background: var(--udoc-border);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 500;\n color: var(--udoc-text-label);\n}\n\n/* Collapsed state */\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-header svg {\n transform: rotate(-90deg);\n}\n\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-content {\n display: none;\n}\n\n/* Page Content */\n.udoc-viewer-root .udoc-comments-page-content {\n display: flex;\n flex-direction: column;\n}\n\n/* Comment Item */\n.udoc-viewer-root .udoc-comment-item {\n display: flex;\n gap: 8px;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid var(--udoc-border-light);\n}\n\n.udoc-viewer-root .udoc-comment-item:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comment-item:hover {\n background: var(--udoc-subtle-hover);\n}\n\n/* Reply indentation */\n.udoc-viewer-root .udoc-comment-reply {\n background: var(--udoc-bg-reply);\n}\n\n.udoc-viewer-root .udoc-comment-depth-1 {\n padding-left: 28px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-2 {\n padding-left: 44px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-3 {\n padding-left: 60px;\n}\n\n/* Comment Icon */\n.udoc-viewer-root .udoc-comment-icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-comment-icon svg {\n width: 16px;\n height: 16px;\n}\n\n/* Comment Body */\n.udoc-viewer-root .udoc-comment-body {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* Comment Header */\n.udoc-viewer-root .udoc-comment-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.udoc-viewer-root .udoc-comment-author {\n font-size: 12px;\n font-weight: 600;\n color: var(--udoc-text-heading);\n}\n\n/* Status Badge */\n.udoc-viewer-root .udoc-comment-status {\n padding: 1px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 500;\n text-transform: capitalize;\n}\n\n.udoc-viewer-root .udoc-comment-status--accepted {\n background: var(--udoc-status-accepted-bg);\n color: var(--udoc-status-accepted-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--rejected {\n background: var(--udoc-status-rejected-bg);\n color: var(--udoc-status-rejected-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--completed {\n background: var(--udoc-status-completed-bg);\n color: var(--udoc-status-completed-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--cancelled {\n background: var(--udoc-status-cancelled-bg);\n color: var(--udoc-status-cancelled-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--marked {\n background: var(--udoc-status-marked-bg);\n color: var(--udoc-status-marked-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--unmarked {\n background: var(--udoc-status-cancelled-bg);\n color: var(--udoc-status-cancelled-text);\n}\n\n/* Comment Contents */\n.udoc-viewer-root .udoc-comment-contents {\n font-size: 12px;\n color: var(--udoc-text-body);\n line-height: 1.4;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n/* Reply Toggle */\n.udoc-viewer-root .udoc-comment-toggle {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n margin-top: 4px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-primary);\n font-size: 11px;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comment-toggle:hover {\n background: var(--udoc-primary-subtle-bg);\n}\n\n.udoc-viewer-root .udoc-comment-toggle svg {\n width: 12px;\n height: 12px;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comment-toggle--expanded svg {\n transform: rotate(90deg);\n}\n\n/* Replies Container */\n.udoc-viewer-root .udoc-comment-replies {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-comment-replies--collapsed {\n display: none;\n}\n\n/* Annotation Highlight Animation */\n@keyframes udoc-annotation-pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(0, 102, 204, 0.7);\n }\n 50% {\n box-shadow: 0 0 0 8px rgba(0, 102, 204, 0.3);\n }\n 100% {\n box-shadow: 0 0 0 12px rgba(0, 102, 204, 0);\n }\n}\n\n.udoc-viewer-root .udoc-annotation--highlighted {\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid var(--udoc-primary);\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Highlight indicator for full-layer markup annotations */\n.udoc-viewer-root .udoc-annotation-highlight-indicator {\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid var(--udoc-primary);\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Mobile Panel Overlay */\n.udoc-viewer-root .udoc-panel-overlay {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-overlay);\n z-index: 140;\n}\n\n/* ===== Responsive: Small Mobile (\u2264480px) ===== */\n@container udoc-viewer (max-width: 480px) {\n /* Make body-slot a positioning context */\n .udoc-viewer-root .udoc-body-slot {\n position: relative;\n }\n\n /* Collapse panels to slide-out drawers */\n .udoc-viewer-root .udoc-left-panel {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n transform: translateX(-100%);\n transition: transform 0.2s ease;\n }\n\n .udoc-viewer-root .udoc-left-panel:not(.udoc-left-panel--closed) {\n transform: translateX(0);\n box-shadow: var(--udoc-shadow-panel);\n }\n\n .udoc-viewer-root .udoc-left-panel--closed {\n width: 280px !important;\n transform: translateX(-100%);\n }\n\n .udoc-viewer-root .udoc-right-panel {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n transform: translateX(100%);\n transition: transform 0.2s ease;\n }\n\n .udoc-viewer-root .udoc-right-panel:not(.udoc-right-panel--closed) {\n transform: translateX(0);\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n }\n\n .udoc-viewer-root .udoc-right-panel--closed {\n width: 280px !important;\n transform: translateX(100%);\n }\n\n /* Show overlay when panel is open */\n .udoc-viewer-root.udoc-panel-open .udoc-panel-overlay {\n display: block;\n }\n\n /* Viewport becomes flex column so floating toolbar is a footer */\n .udoc-viewer-root .udoc-viewport {\n display: flex;\n flex-direction: column;\n }\n\n .udoc-viewer-root .udoc-viewport__content {\n flex: 1 1 auto;\n overflow: hidden;\n }\n\n /* Convert floating bar to full-width footer toolbar */\n .udoc-viewer-root .udoc-floating-toolbar {\n position: relative;\n bottom: auto;\n left: auto;\n flex: 0 0 auto;\n transform: none;\n border-radius: 0;\n box-sizing: border-box;\n background: var(--udoc-bg-panel);\n border-top: 1px solid var(--udoc-border);\n height: 40px;\n padding: 0 12px;\n gap: 8px;\n max-width: none;\n justify-content: center;\n }\n\n /* Raise toolbar above slide-out panels so overflow dropdown is not hidden */\n .udoc-viewer-root .udoc-toolbar-slot {\n z-index: 160;\n }\n\n /* Hide individual right-section buttons on mobile; show overflow menu */\n .udoc-viewer-root .udoc-toolbar__btn--search,\n .udoc-viewer-root .udoc-toolbar__btn--comments,\n .udoc-viewer-root .udoc-toolbar__btn--print,\n .udoc-viewer-root .udoc-toolbar__btn--download,\n .udoc-viewer-root .udoc-toolbar__btn--theme,\n .udoc-viewer-root .udoc-toolbar__btn--fullscreen {\n display: none !important;\n }\n\n .udoc-viewer-root .udoc-overflow-menu {\n display: block;\n }\n\n /* Larger panel tab buttons for touch */\n .udoc-viewer-root .udoc-left-panel__tabs {\n width: 44px;\n padding: 8px 0;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab {\n width: 44px;\n height: 44px;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab svg {\n width: 22px;\n height: 22px;\n }\n\n /* Toolbar adjustments */\n .udoc-viewer-root .udoc-toolbar {\n padding: 0 4px;\n gap: 4px;\n }\n\n .udoc-viewer-root .udoc-toolbar__btn {\n box-sizing: border-box;\n padding: 6px;\n }\n\n /* View mode menu - right align */\n .udoc-viewer-root .udoc-view-mode-menu__dropdown {\n left: auto;\n right: 0;\n }\n\n .udoc-viewer-root .udoc-zoom-dropdown__item {\n padding: 12px 16px;\n }\n\n .udoc-viewer-root .udoc-view-mode-menu__option {\n width: 36px;\n height: 36px;\n }\n}\n\n/* ===== Password Dialog ===== */\n.udoc-viewer-root .udoc-password-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 200;\n}\n\n.udoc-viewer-root .udoc-password-dialog {\n background: var(--udoc-bg-surface);\n border-radius: 12px;\n box-shadow: var(--udoc-shadow-dialog);\n padding: 24px;\n max-width: 360px;\n width: 90%;\n}\n\n.udoc-viewer-root .udoc-password-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.udoc-viewer-root .udoc-password-icon {\n width: 32px;\n height: 32px;\n color: var(--udoc-text-label);\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-password-title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-password-message {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: var(--udoc-text-label);\n line-height: 1.5;\n}\n\n.udoc-viewer-root .udoc-password-form {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper {\n display: flex;\n align-items: center;\n border: 1px solid var(--udoc-border);\n border-radius: 8px;\n background: var(--udoc-bg-input);\n transition:\n border-color 0.15s,\n box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper:focus-within {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 3px var(--udoc-primary-active-bg);\n}\n\n.udoc-viewer-root .udoc-password-input {\n flex: 1;\n padding: 12px 14px;\n border: none;\n border-radius: 8px 0 0 8px;\n background: transparent;\n font-size: 15px;\n color: var(--udoc-text-heading);\n outline: none;\n}\n\n.udoc-viewer-root .udoc-password-input::placeholder {\n color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-password-input:disabled {\n background: var(--udoc-bg-panel);\n color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-password-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n border: none;\n background: transparent;\n color: var(--udoc-text-subtle);\n cursor: pointer;\n transition: color 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-toggle:hover {\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-password-toggle svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-password-error {\n margin: 0;\n padding: 8px 12px;\n background: var(--udoc-error-bg);\n border: 1px solid var(--udoc-error-border);\n border-radius: 6px;\n font-size: 13px;\n color: var(--udoc-error-text);\n}\n\n.udoc-viewer-root .udoc-password-submit {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 20px;\n border: none;\n border-radius: 8px;\n background: var(--udoc-primary);\n color: var(--udoc-text-on-primary);\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-submit:hover:not(:disabled) {\n background: var(--udoc-primary-hover);\n}\n\n.udoc-viewer-root .udoc-password-submit:disabled {\n background: var(--udoc-primary-disabled);\n cursor: not-allowed;\n}\n\n.udoc-viewer-root .udoc-password-submit-spinner svg {\n width: 20px;\n height: 20px;\n}\n\n/* ===== Print Dialog ===== */\n.udoc-viewer-root .udoc-print-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 210;\n}\n\n.udoc-viewer-root .udoc-print-dialog {\n background: var(--udoc-bg-surface);\n border-radius: 12px;\n box-shadow: var(--udoc-shadow-dialog);\n padding: 24px;\n max-width: 400px;\n width: 90%;\n}\n\n.udoc-viewer-root .udoc-print-title {\n margin: 0 0 20px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-print-section {\n margin-bottom: 16px;\n}\n\n.udoc-viewer-root .udoc-print-section-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--udoc-text-label);\n margin-bottom: 8px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.udoc-viewer-root .udoc-print-radios {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.udoc-viewer-root .udoc-print-radio {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--udoc-text-heading);\n cursor: pointer;\n padding: 4px 0;\n}\n\n.udoc-viewer-root .udoc-print-radio input[type=\"radio\"] {\n accent-color: var(--udoc-primary);\n margin: 0;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-print-input {\n padding: 4px 8px;\n border: 1px solid var(--udoc-border);\n border-radius: 6px;\n background: var(--udoc-bg-input);\n color: var(--udoc-text-heading);\n font-size: 14px;\n outline: none;\n transition:\n border-color 0.15s,\n box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-print-input:focus {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 3px var(--udoc-primary-active-bg);\n}\n\n.udoc-viewer-root .udoc-print-input:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.udoc-viewer-root .udoc-print-input[type=\"number\"] {\n width: 64px;\n}\n\n.udoc-viewer-root .udoc-print-input[type=\"text\"] {\n flex: 1;\n min-width: 0;\n}\n\n.udoc-viewer-root .udoc-print-select {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--udoc-border);\n border-radius: 8px;\n background: var(--udoc-bg-input);\n color: var(--udoc-text-heading);\n font-size: 14px;\n outline: none;\n cursor: pointer;\n transition:\n border-color 0.15s,\n box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-print-select:focus {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 3px var(--udoc-primary-active-bg);\n}\n\n.udoc-viewer-root .udoc-print-error {\n margin: 0 0 12px 0;\n padding: 8px 12px;\n background: var(--udoc-error-bg);\n border: 1px solid var(--udoc-error-border);\n border-radius: 6px;\n font-size: 13px;\n color: var(--udoc-error-text);\n display: none;\n}\n\n.udoc-viewer-root .udoc-print-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n margin-top: 20px;\n}\n\n.udoc-viewer-root .udoc-print-btn {\n padding: 8px 20px;\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-print-btn--cancel {\n background: transparent;\n color: var(--udoc-text-label);\n}\n\n.udoc-viewer-root .udoc-print-btn--cancel:hover {\n background: var(--udoc-bg-hover);\n}\n\n.udoc-viewer-root .udoc-print-btn--print {\n background: var(--udoc-primary);\n color: var(--udoc-text-on-primary);\n}\n\n.udoc-viewer-root .udoc-print-btn--print:hover {\n background: var(--udoc-primary-hover);\n}\n\n/* ===== Loading Overlay ===== */\n.udoc-viewer-root .udoc-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-loading);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 180;\n backdrop-filter: blur(2px);\n}\n\n.udoc-viewer-root .udoc-loading-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.udoc-viewer-root .udoc-loading-spinner {\n width: 40px;\n height: 40px;\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-loading-spinner svg {\n width: 100%;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-loading-progress-container {\n width: 240px;\n}\n\n.udoc-viewer-root .udoc-loading-progress-track {\n width: 100%;\n height: 6px;\n background: var(--udoc-progress-track);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill {\n height: 100%;\n background: var(--udoc-progress-fill);\n border-radius: 3px;\n width: 0%;\n transition: width 0.2s ease-out;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill--indeterminate {\n animation: udoc-loading-indeterminate 1.5s ease-in-out infinite;\n}\n\n@keyframes udoc-loading-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 50% {\n transform: translateX(233%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}\n\n.udoc-viewer-root .udoc-loading-progress-text {\n font-size: 13px;\n color: var(--udoc-text-label);\n text-align: center;\n}\n\n/* Logo path colors */\n.udoc-viewer-root .udoc-logo-doc {\n fill: #0f172a;\n}\n\n.udoc-viewer-root .udoc-logo-mentis {\n fill: #4f46e5;\n}\n\n.udoc-viewer-dark .udoc-logo-doc {\n fill: #e2e8f0;\n}\n\n.udoc-viewer-dark .udoc-logo-mentis {\n fill: #818cf8;\n}\n\n/* =============================================================================\n Search Panel\n ============================================================================= */\n\n.udoc-viewer-root .udoc-search-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n font-size: 13px;\n}\n\n.udoc-viewer-root .udoc-search-panel__header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 12px 12px 8px;\n}\n\n.udoc-viewer-root .udoc-search-panel__input-wrapper {\n flex: 1;\n display: flex;\n align-items: center;\n border: 1px solid var(--udoc-border-input);\n border-radius: 4px;\n background: var(--udoc-bg-input);\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-search-panel__input-wrapper:focus-within {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 2px var(--udoc-primary-focus-ring);\n}\n\n.udoc-viewer-root .udoc-search-panel__input-icon {\n display: flex;\n align-items: center;\n padding: 0 6px 0 8px;\n color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-search-panel__input-icon svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-search-panel__input {\n flex: 1;\n border: none;\n outline: none;\n padding: 6px 8px 6px 0;\n font-size: 13px;\n min-width: 0;\n background: transparent;\n}\n\n/* Suppress focus ring on the inner input \u2014 the wrapper handles :focus-within */\n.udoc-viewer-root .udoc-search-panel__input:focus-visible {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-search-panel__clear {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n margin-right: 4px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-placeholder);\n cursor: pointer;\n padding: 0;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-search-panel__clear:hover {\n background: var(--udoc-hover-overlay);\n color: var(--udoc-text-body);\n}\n\n.udoc-viewer-root .udoc-search-panel__clear svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-search-panel__clear:focus-visible {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-search-panel__case {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--udoc-border-input);\n border-radius: 4px;\n background: var(--udoc-bg-input);\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n color: var(--udoc-text-label);\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-search-panel__case:hover {\n background: var(--udoc-bg-page-header);\n}\n\n.udoc-viewer-root .udoc-search-panel__case--active {\n background: var(--udoc-primary);\n color: var(--udoc-text-on-primary);\n border-color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-search-panel__case--active:hover {\n background: var(--udoc-primary-hover);\n}\n\n.udoc-viewer-root .udoc-search-panel__nav {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--udoc-border-light);\n min-height: 32px;\n}\n\n.udoc-viewer-root .udoc-search-panel__status {\n color: var(--udoc-text-label);\n font-size: 12px;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-buttons {\n display: flex;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n border-radius: 4px;\n background: transparent;\n cursor: pointer;\n color: var(--udoc-text-heading);\n padding: 0;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn svg {\n width: 16px;\n height: 16px;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn:disabled {\n opacity: 0.3;\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn:disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-search-panel__results {\n flex: 1;\n overflow-y: auto;\n padding: 0;\n}\n\n.udoc-viewer-root .udoc-search-result__page-header {\n padding: 8px 12px 4px;\n font-size: 11px;\n font-weight: 600;\n color: var(--udoc-text-placeholder);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n position: sticky;\n top: 0;\n background: var(--udoc-bg-surface);\n z-index: 1;\n}\n\n.udoc-viewer-root .udoc-search-result {\n padding: 6px 12px;\n cursor: pointer;\n font-size: 12px;\n line-height: 1.4;\n color: var(--udoc-text-heading);\n border-left: 3px solid transparent;\n}\n\n.udoc-viewer-root .udoc-search-result:hover {\n background: var(--udoc-faint-hover);\n}\n\n.udoc-viewer-root .udoc-search-result--active {\n background: var(--udoc-search-result-active-bg);\n border-left-color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-search-result__context {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n color: var(--udoc-text-body);\n}\n\n.udoc-viewer-root .udoc-search-result__match {\n background: var(--udoc-search-match-bg);\n color: var(--udoc-search-match-text);\n border-radius: 2px;\n padding: 0 1px;\n}\n\n/* =============================================================================\n Search Highlights on Pages\n ============================================================================= */\n\n.udoc-viewer-root .udoc-spread__search-highlight-layer {\n position: absolute;\n pointer-events: none;\n}\n\n.udoc-viewer-root .udoc-search-highlight {\n background-color: var(--udoc-search-highlight);\n mix-blend-mode: multiply;\n border-radius: 1px;\n}\n\n.udoc-viewer-root .udoc-search-highlight--active {\n background-color: var(--udoc-search-highlight-active);\n outline: 2px solid var(--udoc-search-highlight-active-outline);\n outline-offset: 1px;\n}\n\n/* Dark mode blend mode overrides */\n.udoc-viewer-root.udoc-viewer-dark .udoc-annotation__quad {\n mix-blend-mode: screen;\n}\n\n.udoc-viewer-root.udoc-viewer-dark .udoc-search-highlight {\n mix-blend-mode: screen;\n}\n\n/* === Accessibility === */\n\n/* Screen-reader-only utility (visually hidden but accessible) */\n.udoc-viewer-root .udoc-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Skip navigation link */\n.udoc-viewer-root .udoc-skip-link {\n position: absolute;\n top: -100px;\n left: 0;\n z-index: 10000;\n padding: 8px 16px;\n background: var(--udoc-bg-surface);\n color: var(--udoc-text-heading);\n text-decoration: none;\n font-size: 14px;\n border-radius: 0 0 4px 0;\n box-shadow: var(--udoc-shadow-sm);\n}\n\n.udoc-viewer-root .udoc-skip-link:focus {\n top: 0;\n}\n\n/* Keyboard focus indicators */\n.udoc-viewer-root :focus-visible {\n outline: 2px solid var(--udoc-primary);\n outline-offset: 2px;\n}\n\n.udoc-viewer-root :focus:not(:focus-visible) {\n outline: none;\n}\n\n/* Reduced motion */\n@media (prefers-reduced-motion: reduce) {\n .udoc-viewer-root,\n .udoc-viewer-root * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n}\n\n/* High contrast preference */\n@media (prefers-contrast: more) {\n .udoc-viewer-root {\n --udoc-border: #000;\n --udoc-border-input: #000;\n --udoc-text-muted: rgba(0, 0, 0, 0.7);\n --udoc-text-faint: rgba(0, 0, 0, 0.6);\n --udoc-primary-focus-ring: rgba(0, 102, 204, 0.5);\n }\n\n .udoc-viewer-root.udoc-viewer-dark {\n --udoc-border: #aaa;\n --udoc-border-input: #aaa;\n --udoc-text-muted: rgba(255, 255, 255, 0.7);\n --udoc-text-faint: rgba(255, 255, 255, 0.6);\n --udoc-primary-focus-ring: rgba(77, 166, 255, 0.5);\n }\n\n .udoc-viewer-root :focus-visible {\n outline-width: 3px;\n }\n}\n\n/* Forced colors (Windows High Contrast) */\n@media (forced-colors: active) {\n .udoc-viewer-root .udoc-thumbnail-item--active {\n outline: 3px solid Highlight;\n }\n\n .udoc-viewer-root .udoc-toolbar__btn,\n .udoc-viewer-root .udoc-floating-toolbar__btn,\n .udoc-viewer-root .udoc-left-panel__tab {\n border: 1px solid ButtonText;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab--active {\n background: Highlight;\n color: HighlightText;\n }\n\n .udoc-viewer-root .udoc-search-highlight {\n outline: 2px solid Highlight;\n }\n}\n\n/* Resize handle focus styles */\n.udoc-viewer-root .udoc-left-panel__resize-handle:focus-visible,\n.udoc-viewer-root .udoc-right-panel__resize-handle:focus-visible {\n background: var(--udoc-primary-muted);\n outline: 2px solid var(--udoc-primary);\n outline-offset: -2px;\n}\n\n/* Touch target sizes for coarse pointers (panels and side UI only \u2014 toolbars handle their own sizing) */\n@media (pointer: coarse) {\n .udoc-viewer-root .udoc-left-panel__tab {\n width: 44px;\n height: 44px;\n }\n\n .udoc-viewer-root .udoc-left-panel__tabs {\n width: 44px;\n }\n\n .udoc-viewer-root .udoc-outline-item__toggle {\n min-width: 44px;\n min-height: 44px;\n }\n}\n";
1
+ export declare const inlineStyles = ".udoc-viewer-root {\n /* === Theme Variables (Light) === */\n --udoc-bg-viewport: #e0e0e0;\n --udoc-bg-surface: #fff;\n --udoc-bg-panel: #f5f5f5;\n --udoc-bg-panel-tabs: #e8e8e8;\n --udoc-bg-page-header: #f0f0f0;\n --udoc-bg-reply: #fafafa;\n --udoc-bg-input: #fff;\n --udoc-bg-overlay: rgba(0, 0, 0, 0.5);\n --udoc-bg-loading: rgba(224, 224, 224, 0.95);\n\n --udoc-text-primary: rgba(0, 0, 0, 0.8);\n --udoc-text-secondary: rgba(0, 0, 0, 0.7);\n --udoc-text-tertiary: rgba(0, 0, 0, 0.6);\n --udoc-text-muted: rgba(0, 0, 0, 0.58);\n --udoc-text-faint: rgba(0, 0, 0, 0.52);\n --udoc-text-disabled: rgba(0, 0, 0, 0.25);\n --udoc-text-heading: #333;\n --udoc-text-body: #555;\n --udoc-text-label: #666;\n --udoc-text-subtle: #767676;\n --udoc-text-placeholder: #999;\n --udoc-text-on-primary: #fff;\n\n --udoc-primary: #0066cc;\n --udoc-primary-hover: #0052a3;\n --udoc-primary-active-bg: rgba(0, 102, 204, 0.15);\n --udoc-primary-active-bg-hover: rgba(0, 102, 204, 0.2);\n --udoc-primary-subtle-bg: rgba(0, 102, 204, 0.1);\n --udoc-primary-focus-ring: rgba(0, 102, 204, 0.2);\n --udoc-primary-muted: rgba(0, 102, 204, 0.3);\n --udoc-primary-disabled: #94a3b8;\n\n --udoc-border: #ddd;\n --udoc-border-input: #ccc;\n --udoc-border-light: #eee;\n --udoc-border-medium: #e0e0e0;\n\n --udoc-hover-overlay: rgba(0, 0, 0, 0.08);\n --udoc-active-overlay: rgba(0, 0, 0, 0.12);\n --udoc-pressed-overlay: rgba(0, 0, 0, 0.15);\n --udoc-subtle-hover: rgba(0, 0, 0, 0.05);\n --udoc-faint-hover: rgba(0, 0, 0, 0.04);\n\n --udoc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);\n --udoc-shadow-page: 0 2px 8px rgba(0, 0, 0, 0.15);\n --udoc-shadow-toolbar: 0 2px 12px rgba(0, 0, 0, 0.15);\n --udoc-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.2);\n --udoc-shadow-dialog: 0 8px 32px rgba(0, 0, 0, 0.3);\n --udoc-shadow-panel: 4px 0 20px rgba(0, 0, 0, 0.15);\n\n --udoc-search-highlight: rgba(255, 200, 0, 0.35);\n --udoc-search-highlight-active: rgba(255, 140, 0, 0.6);\n --udoc-search-highlight-active-outline: rgba(255, 140, 0, 0.8);\n --udoc-search-match-bg: rgba(255, 200, 0, 0.4);\n --udoc-search-match-text: #000;\n --udoc-search-result-active-bg: rgba(0, 102, 204, 0.08);\n\n --udoc-text-selection: rgba(0, 120, 215, 0.3);\n\n --udoc-annotation-bg: #ffffc0;\n --udoc-annotation-header-bg: #f0f0c0;\n --udoc-annotation-border: #d4d4a0;\n\n --udoc-status-accepted-bg: #d4edda;\n --udoc-status-accepted-text: #155724;\n --udoc-status-rejected-bg: #f8d7da;\n --udoc-status-rejected-text: #721c24;\n --udoc-status-completed-bg: #cce5ff;\n --udoc-status-completed-text: #004085;\n --udoc-status-cancelled-bg: #e2e3e5;\n --udoc-status-cancelled-text: #383d41;\n --udoc-status-marked-bg: #fff3cd;\n --udoc-status-marked-text: #856404;\n\n --udoc-error-bg: #fef2f2;\n --udoc-error-border: #fecaca;\n --udoc-error-text: #dc2626;\n\n --udoc-progress-track: #e5e7eb;\n --udoc-progress-fill: #0066cc;\n\n --udoc-scrollbar-thumb: rgba(0, 0, 0, 0.3);\n --udoc-scrollbar-thumb-hover: rgba(0, 0, 0, 0.5);\n\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n container-type: inline-size;\n container-name: udoc-viewer;\n}\n\n.udoc-viewer-root.udoc-viewer-dark {\n --udoc-bg-viewport: #1a1a1a;\n --udoc-bg-surface: #2d2d2d;\n --udoc-bg-panel: #252525;\n --udoc-bg-panel-tabs: #1e1e1e;\n --udoc-bg-page-header: #2a2a2a;\n --udoc-bg-reply: #333;\n --udoc-bg-input: #3a3a3a;\n --udoc-bg-overlay: rgba(0, 0, 0, 0.7);\n --udoc-bg-loading: rgba(30, 30, 30, 0.95);\n\n --udoc-text-primary: rgba(255, 255, 255, 0.87);\n --udoc-text-secondary: rgba(255, 255, 255, 0.7);\n --udoc-text-tertiary: rgba(255, 255, 255, 0.6);\n --udoc-text-muted: rgba(255, 255, 255, 0.64);\n --udoc-text-faint: rgba(255, 255, 255, 0.56);\n --udoc-text-disabled: rgba(255, 255, 255, 0.25);\n --udoc-text-heading: #e0e0e0;\n --udoc-text-body: #bbb;\n --udoc-text-label: #aaa;\n --udoc-text-subtle: #a0a0a0;\n --udoc-text-placeholder: #777;\n --udoc-text-on-primary: #fff;\n\n --udoc-primary: #4da6ff;\n --udoc-primary-hover: #80bfff;\n --udoc-primary-active-bg: rgba(77, 166, 255, 0.2);\n --udoc-primary-active-bg-hover: rgba(77, 166, 255, 0.25);\n --udoc-primary-subtle-bg: rgba(77, 166, 255, 0.12);\n --udoc-primary-focus-ring: rgba(77, 166, 255, 0.25);\n --udoc-primary-muted: rgba(77, 166, 255, 0.35);\n --udoc-primary-disabled: #4a5568;\n\n --udoc-border: #444;\n --udoc-border-input: #555;\n --udoc-border-light: #3a3a3a;\n --udoc-border-medium: #404040;\n\n --udoc-hover-overlay: rgba(255, 255, 255, 0.08);\n --udoc-active-overlay: rgba(255, 255, 255, 0.12);\n --udoc-pressed-overlay: rgba(255, 255, 255, 0.15);\n --udoc-subtle-hover: rgba(255, 255, 255, 0.05);\n --udoc-faint-hover: rgba(255, 255, 255, 0.04);\n\n --udoc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);\n --udoc-shadow-page: 0 2px 8px rgba(0, 0, 0, 0.4);\n --udoc-shadow-toolbar: 0 2px 12px rgba(0, 0, 0, 0.4);\n --udoc-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, 0.5);\n --udoc-shadow-dialog: 0 8px 32px rgba(0, 0, 0, 0.6);\n --udoc-shadow-panel: 4px 0 20px rgba(0, 0, 0, 0.4);\n\n --udoc-search-highlight: rgba(255, 200, 0, 0.4);\n --udoc-search-highlight-active: rgba(255, 140, 0, 0.65);\n --udoc-search-highlight-active-outline: rgba(255, 140, 0, 0.85);\n --udoc-search-match-bg: rgba(255, 200, 0, 0.3);\n --udoc-search-match-text: #fff;\n --udoc-search-result-active-bg: rgba(77, 166, 255, 0.12);\n\n --udoc-text-selection: rgba(77, 166, 255, 0.35);\n\n --udoc-annotation-bg: #4a4a20;\n --udoc-annotation-header-bg: #3a3a18;\n --udoc-annotation-border: #5a5a30;\n\n --udoc-status-accepted-bg: #1a3a1a;\n --udoc-status-accepted-text: #6fcf6f;\n --udoc-status-rejected-bg: #3a1a1a;\n --udoc-status-rejected-text: #f08080;\n --udoc-status-completed-bg: #1a2a3a;\n --udoc-status-completed-text: #80b8ff;\n --udoc-status-cancelled-bg: #2a2a2a;\n --udoc-status-cancelled-text: #aaa;\n --udoc-status-marked-bg: #3a3520;\n --udoc-status-marked-text: #d4b44a;\n\n --udoc-error-bg: #3a1c1c;\n --udoc-error-border: #6b2c2c;\n --udoc-error-text: #f87171;\n\n --udoc-progress-track: #404040;\n --udoc-progress-fill: #4da6ff;\n\n --udoc-scrollbar-thumb: rgba(255, 255, 255, 0.3);\n --udoc-scrollbar-thumb-hover: rgba(255, 255, 255, 0.5);\n}\n\n.udoc-viewer-root .udoc-toolbar-slot {\n flex: 0 0 auto;\n position: relative;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-body-slot {\n flex: 1 1 auto;\n display: flex;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-right-panel-slot {\n flex: 0 0 auto;\n}\n\n.udoc-viewer-root .udoc-viewport-slot {\n position: relative;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-viewport {\n position: relative;\n width: 100%;\n height: 100%;\n background: var(--udoc-bg-viewport);\n}\n\n.udoc-viewer-root .udoc-viewport__content {\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-viewport__scroll {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n overflow: auto;\n /* scrollbar visibility is managed dynamically by Viewport.ts */\n}\n\n.udoc-viewer-root .udoc-viewport__container {\n position: relative;\n min-height: 100%;\n box-sizing: border-box;\n /* height set dynamically for virtual scrolling */\n}\n\n/* Spread */\n.udoc-viewer-root .udoc-spread {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-spread__wrapper {\n display: flex;\n flex-direction: row;\n flex-shrink: 0;\n /* gap is set dynamically by Spread.ts based on pageSpacing */\n}\n\n.udoc-viewer-root .udoc-spread--hidden {\n display: none;\n}\n\n/* Page slot within spread */\n.udoc-viewer-root .udoc-spread__slot {\n display: flex;\n align-items: center;\n justify-content: center;\n background: white;\n box-shadow: var(--udoc-shadow-page);\n}\n\n.udoc-viewer-root .udoc-viewport--seamless .udoc-spread__slot {\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__slot--empty {\n background: transparent;\n box-shadow: none;\n}\n\n.udoc-viewer-root .udoc-spread__preview-canvas {\n display: none;\n image-rendering: auto;\n}\n\n.udoc-viewer-root .udoc-spread__canvas {\n display: block;\n}\n\n/* Floating Toolbar */\n.udoc-viewer-root .udoc-floating-toolbar {\n position: absolute;\n bottom: 24px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: 4px;\n height: 40px;\n padding: 0 10px;\n background: var(--udoc-bg-surface);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-toolbar);\n z-index: 100;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__section {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__divider {\n width: 1px;\n height: 20px;\n background: var(--udoc-pressed-overlay);\n margin: 0 4px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-secondary);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:active {\n background: var(--udoc-pressed-overlay);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled {\n color: var(--udoc-text-disabled);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn:disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-info {\n display: flex;\n align-items: center;\n color: var(--udoc-text-primary);\n font-size: 13px;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input {\n width: 36px;\n padding: 2px 4px;\n border: 1px solid var(--udoc-pressed-overlay);\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-input:focus {\n outline: none;\n border-color: var(--udoc-scrollbar-thumb);\n background: var(--udoc-bg-input);\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__page-total {\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__zoom-level {\n min-width: 44px;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-floating-toolbar__btn--active {\n background: var(--udoc-active-overlay);\n}\n\n/* Zoom Dropdown */\n.udoc-viewer-root .udoc-zoom-dropdown {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle {\n display: flex;\n align-items: center;\n gap: 0;\n height: 100%;\n border: 1px solid var(--udoc-pressed-overlay);\n border-radius: 4px;\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__toggle:focus-within {\n border-color: var(--udoc-scrollbar-thumb);\n background: var(--udoc-bg-input);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input {\n width: 44px;\n padding: 2px 4px;\n border: none;\n border-radius: 4px 0 0 4px;\n background: transparent;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__input:focus {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 100%;\n padding: 2px 2px;\n border: none;\n border-left: 1px solid var(--udoc-subtle-hover);\n border-radius: 0 4px 4px 0;\n background: transparent;\n color: var(--udoc-text-muted);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron:hover {\n background: var(--udoc-hover-overlay);\n color: var(--udoc-text-secondary);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron--active {\n background: var(--udoc-active-overlay);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__chevron svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__menu {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: 6px;\n background: var(--udoc-bg-surface);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-dropdown);\n min-width: 100px;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__section {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__divider {\n height: 1px;\n background: var(--udoc-subtle-hover);\n margin: 6px 0;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item {\n display: block;\n width: 100%;\n padding: 6px 10px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-primary);\n font-size: 13px;\n text-align: left;\n cursor: pointer;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active {\n background: var(--udoc-primary-active-bg);\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-zoom-dropdown__item--active:hover {\n background: var(--udoc-primary-active-bg-hover);\n}\n\n/* View Mode Menu */\n.udoc-viewer-root .udoc-view-mode-menu {\n position: relative;\n height: 28px;\n display: flex;\n align-items: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__dropdown {\n position: absolute;\n bottom: calc(100% + 8px);\n left: 0;\n padding: 8px;\n background: var(--udoc-bg-surface);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-dropdown);\n min-width: 160px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section {\n margin-bottom: 8px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__section:last-child {\n margin-bottom: 0;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__title {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--udoc-text-muted);\n margin-bottom: 4px;\n padding: 0 4px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__options {\n display: flex;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-tertiary);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active {\n background: var(--udoc-primary-active-bg);\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--active:hover {\n background: var(--udoc-primary-active-bg-hover);\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled {\n color: var(--udoc-text-disabled);\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option--disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.udoc-viewer-root .udoc-view-mode-menu__option-icon svg {\n width: 20px;\n height: 20px;\n}\n\n/* Left Panel */\n.udoc-viewer-root .udoc-left-panel {\n position: relative;\n display: flex;\n width: 240px;\n height: 100%;\n background: var(--udoc-bg-panel);\n border-right: 1px solid var(--udoc-border);\n overflow: hidden;\n transition: width 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-left-panel--closed {\n width: 0;\n border-right: none;\n}\n\n.udoc-viewer-root .udoc-left-panel__tabs {\n display: flex;\n flex-direction: column;\n width: 40px;\n background: var(--udoc-bg-panel-tabs);\n border-right: 1px solid var(--udoc-border);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--udoc-text-label);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-left-panel__tab:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab--active {\n background: var(--udoc-bg-panel);\n color: var(--udoc-text-heading);\n border-right: 2px solid var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-left-panel__tab svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-left-panel__content {\n flex: 1;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle {\n position: absolute;\n right: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-left-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-left-panel--resizing .udoc-left-panel__resize-handle {\n background: var(--udoc-primary-muted);\n}\n\n.udoc-viewer-root .udoc-left-panel--resizing {\n transition: none;\n}\n\n/* Thumbnail Panel */\n.udoc-viewer-root .udoc-thumbnail-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 8px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n flex-shrink: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item:hover {\n background: var(--udoc-subtle-hover);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active {\n background: var(--udoc-primary-subtle-bg);\n outline: 2px solid var(--udoc-primary);\n outline-offset: -2px;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__canvas {\n display: block;\n max-width: calc(100% - 16px);\n background: white;\n box-shadow: var(--udoc-shadow-sm);\n}\n\n.udoc-viewer-root .udoc-thumbnail-item__label {\n font-size: 11px;\n color: var(--udoc-text-label);\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-thumbnail-item--active .udoc-thumbnail-item__label {\n color: var(--udoc-primary);\n font-weight: 500;\n}\n\n/* Outline Panel */\n.udoc-viewer-root .udoc-outline-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px 0;\n}\n\n.udoc-viewer-root .udoc-outline-panel__loading,\n.udoc-viewer-root .udoc-panel-empty {\n padding: 16px;\n color: var(--udoc-text-subtle);\n font-size: 13px;\n text-align: center;\n}\n\n.udoc-viewer-root .udoc-outline-item {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-outline-item__header {\n display: flex;\n align-items: center;\n padding: 6px 12px 6px 8px;\n gap: 4px;\n min-height: 28px;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable {\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-outline-item__header--clickable:hover {\n background: var(--udoc-subtle-hover);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active {\n background: var(--udoc-primary-subtle-bg);\n}\n\n.udoc-viewer-root .udoc-outline-item__header--active .udoc-outline-item__title {\n color: var(--udoc-primary);\n font-weight: 500;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--udoc-text-label);\n cursor: pointer;\n flex-shrink: 0;\n transition: transform 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle:hover {\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-outline-item__toggle--expanded {\n transform: rotate(90deg);\n}\n\n.udoc-viewer-root .udoc-outline-item__spacer {\n width: 16px;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-outline-item__title {\n font-size: 13px;\n color: var(--udoc-text-heading);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n}\n\n/* .udoc-outline-item__children: Indentation is handled via padding-left on header */\n\n/* Layers panel */\n.udoc-viewer-root .udoc-layers-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px 0;\n}\n\n.udoc-viewer-root .udoc-layers-panel__loading,\n.udoc-viewer-root .udoc-layers-panel__item {\n display: flex;\n align-items: center;\n padding: 6px 12px;\n gap: 8px;\n min-height: 32px;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-layers-panel__item:hover {\n background: var(--udoc-subtle-hover);\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--udoc-text-heading);\n cursor: pointer;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle:hover {\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-layers-panel__toggle--hidden {\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-layers-panel__label {\n font-size: 13px;\n color: var(--udoc-text-heading);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-layers-panel__label--hidden {\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-layers-panel__item--locked {\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-layers-panel__item--locked .udoc-layers-panel__toggle {\n cursor: default;\n opacity: 0.5;\n}\n\n.udoc-viewer-root .udoc-layers-panel__item--locked .udoc-layers-panel__label {\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-layers-panel__lock {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n flex-shrink: 0;\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-layers-panel__lock svg {\n width: 14px;\n height: 14px;\n}\n\n/* Fonts panel */\n.udoc-viewer-root .udoc-fonts-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 8px 0;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__loading {\n display: flex;\n align-items: center;\n padding: 6px 12px;\n gap: 8px;\n min-height: 32px;\n color: var(--udoc-text-subtle);\n font-size: 13px;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__item {\n display: flex;\n flex-direction: column;\n padding: 6px 12px;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__item:hover {\n background: var(--udoc-subtle-hover);\n}\n\n.udoc-viewer-root .udoc-fonts-panel__spec {\n font-size: 13px;\n font-weight: 500;\n color: var(--udoc-text-heading);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__tree {\n display: flex;\n flex-direction: column;\n gap: 1px;\n padding-left: 4px;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__font-row {\n display: flex;\n align-items: center;\n gap: 6px;\n min-height: 18px;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n border: 1.5px solid var(--udoc-text-subtle);\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__dot--primary {\n background: var(--udoc-text-heading);\n border-color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-fonts-panel__font-name {\n font-size: 12px;\n color: var(--udoc-text-subtle);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-fonts-panel__font-row--fallback .udoc-fonts-panel__font-name {\n color: var(--udoc-text-label);\n}\n\n.udoc-viewer-root .udoc-fonts-panel__source {\n font-size: 10px;\n padding: 1px 5px;\n border-radius: 3px;\n background: var(--udoc-hover-overlay);\n color: var(--udoc-text-label);\n white-space: nowrap;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-toolbar {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 8px;\n background: var(--udoc-bg-panel);\n border-bottom: 1px solid var(--udoc-border);\n}\n\n.udoc-viewer-root .udoc-toolbar__left,\n.udoc-viewer-root .udoc-toolbar__right {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.udoc-viewer-root .udoc-toolbar__right {\n margin-left: auto;\n}\n\n.udoc-viewer-root .udoc-toolbar__spacer {\n flex: 1;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-body);\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn:active {\n background: var(--udoc-active-overlay);\n}\n\n.udoc-viewer-root .udoc-toolbar__btn svg {\n width: 20px;\n height: 20px;\n}\n\n/* Toolbar center section (inline controls when floating toolbar is hidden) */\n.udoc-viewer-root .udoc-toolbar__center {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n justify-content: flex-start;\n}\n\n/* Overflow menu (hidden on desktop, shown on mobile) */\n.udoc-viewer-root .udoc-overflow-menu {\n display: none;\n position: relative;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__dropdown {\n position: absolute;\n top: 100%;\n right: 0;\n margin-top: 4px;\n min-width: 180px;\n background: var(--udoc-bg-surface);\n border: 1px solid var(--udoc-border);\n border-radius: 8px;\n box-shadow: var(--udoc-shadow-dialog);\n padding: 4px 0;\n z-index: 200;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 10px 14px;\n border: none;\n background: transparent;\n color: var(--udoc-text-body);\n font-size: 14px;\n cursor: pointer;\n text-align: left;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-overflow-menu__item-icon svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-toolbar__group {\n display: flex;\n align-items: center;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-toolbar__divider {\n width: 1px;\n height: 20px;\n background: var(--udoc-border);\n margin: 0 4px;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn--nav {\n width: 28px;\n height: 28px;\n}\n\n.udoc-viewer-root .udoc-toolbar__btn--nav svg {\n width: 18px;\n height: 18px;\n}\n\n.udoc-viewer-root .udoc-toolbar__page-info {\n display: flex;\n align-items: center;\n font-size: 13px;\n color: var(--udoc-text-body);\n}\n\n.udoc-viewer-root .udoc-toolbar__page-input {\n width: 36px;\n height: 24px;\n border: 1px solid var(--udoc-border-input);\n border-radius: 3px;\n text-align: center;\n font-size: 13px;\n padding: 0 2px;\n background: var(--udoc-bg-input);\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-toolbar__page-input:focus {\n outline: none;\n border-color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-toolbar__page-total {\n font-size: 13px;\n color: var(--udoc-text-muted);\n white-space: nowrap;\n}\n\n/* Zoom dropdown in toolbar: drops down instead of up */\n.udoc-viewer-root .udoc-zoom-dropdown--toolbar .udoc-zoom-dropdown__menu {\n bottom: auto;\n top: calc(100% + 8px);\n}\n\n/* View mode menu in toolbar: drops down instead of up */\n.udoc-viewer-root .udoc-toolbar__center .udoc-view-mode-menu__dropdown {\n bottom: auto;\n top: calc(100% + 8px);\n}\n\n/* Right Panel */\n.udoc-viewer-root .udoc-right-panel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 300px;\n height: 100%;\n background: var(--udoc-bg-panel);\n border-left: 1px solid var(--udoc-border);\n overflow: hidden;\n transition: width 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-right-panel--closed {\n width: 0;\n border-left: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle {\n position: absolute;\n left: 0;\n top: 0;\n width: 4px;\n height: 100%;\n cursor: col-resize;\n background: transparent;\n z-index: 10;\n}\n\n.udoc-viewer-root .udoc-right-panel__resize-handle:hover,\n.udoc-viewer-root .udoc-right-panel--resizing .udoc-right-panel__resize-handle {\n background: var(--udoc-primary-muted);\n}\n\n.udoc-viewer-root .udoc-right-panel--resizing {\n transition: none;\n}\n\n.udoc-viewer-root .udoc-right-panel__content {\n flex: 1;\n overflow: auto;\n}\n\n/* Text Layer (for text selection) */\n.udoc-viewer-root .udoc-spread__text-layer {\n position: absolute;\n overflow: hidden;\n /* user-select: none prevents selection from starting/extending in gaps */\n user-select: none;\n pointer-events: auto;\n z-index: 1;\n /* Isolate compositing so overlapping span ::selection backgrounds\n don't double-darken. Selection is painted opaque inside the group,\n then the whole layer is rendered at 30% opacity onto the page. */\n isolation: isolate;\n opacity: 0.3;\n}\n\n.udoc-viewer-root .udoc-text-span {\n position: absolute;\n color: transparent;\n white-space: pre;\n line-height: 1;\n font-family: sans-serif;\n /* Allow selection on actual text spans */\n user-select: text;\n}\n\n.udoc-viewer-root .udoc-text-span::selection {\n background: var(--udoc-text-selection);\n}\n\n/* Text selection disabled */\n.udoc-viewer--no-text-select .udoc-spread__text-layer {\n pointer-events: none;\n}\n\n.udoc-viewer--no-text-select .udoc-text-span {\n user-select: none;\n}\n\n/* Annotation Layer */\n.udoc-viewer-root .udoc-spread__annotation-layer {\n position: absolute;\n pointer-events: none;\n z-index: 2;\n}\n\n/* Base annotation */\n.udoc-viewer-root .udoc-annotation {\n position: absolute;\n box-sizing: border-box;\n}\n\n/* Link annotation */\n.udoc-viewer-root .udoc-annotation--link {\n pointer-events: auto;\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--link:hover {\n background-color: var(--udoc-primary-active-bg);\n}\n\n/* Highlight annotation */\n.udoc-viewer-root .udoc-annotation--highlight {\n pointer-events: none;\n}\n\n.udoc-viewer-root .udoc-annotation__quad {\n mix-blend-mode: multiply;\n}\n\n/* Underline annotation */\n.udoc-viewer-root .udoc-annotation--underline {\n pointer-events: none;\n}\n\n/* StrikeOut annotation */\n.udoc-viewer-root .udoc-annotation--strikeout {\n pointer-events: none;\n}\n\n/* Squiggly annotation */\n.udoc-viewer-root .udoc-annotation--squiggly {\n pointer-events: none;\n}\n\n/* Text (sticky note) annotation */\n.udoc-viewer-root .udoc-annotation--text {\n pointer-events: auto;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: filter 0.15s ease;\n}\n\n.udoc-viewer-root .udoc-annotation--text:hover {\n filter: brightness(1.1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));\n}\n\n.udoc-viewer-root .udoc-annotation--text svg {\n width: 100%;\n height: 100%;\n}\n\n/* Annotation popup */\n.udoc-viewer-root .udoc-annotation-popup {\n position: absolute;\n z-index: 100;\n min-width: 200px;\n max-width: 300px;\n background: var(--udoc-annotation-bg);\n border: 1px solid var(--udoc-annotation-border);\n border-radius: 4px;\n box-shadow: var(--udoc-shadow-page);\n font-size: 12px;\n color: var(--udoc-text-heading);\n pointer-events: auto;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 8px;\n background: var(--udoc-annotation-header-bg);\n border-bottom: 1px solid var(--udoc-annotation-border);\n border-radius: 4px 4px 0 0;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__author {\n font-weight: 600;\n color: var(--udoc-text-body);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close {\n width: 16px;\n height: 16px;\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.6;\n flex-shrink: 0;\n margin-left: 8px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close:hover {\n opacity: 1;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__close svg {\n width: 12px;\n height: 12px;\n}\n\n.udoc-viewer-root .udoc-annotation-popup__content {\n padding: 8px;\n white-space: pre-wrap;\n word-wrap: break-word;\n max-height: 200px;\n overflow-y: auto;\n}\n\n/* FreeText annotation */\n.udoc-viewer-root .udoc-annotation--freetext {\n pointer-events: auto;\n overflow: hidden;\n font-size: 12px;\n padding: 2px;\n}\n\n/* Stamp annotation */\n.udoc-viewer-root .udoc-annotation--stamp {\n pointer-events: none;\n}\n\n/* Caret annotation - rendered via SVG, minimal styling needed */\n.udoc-viewer-root .udoc-annotation--caret {\n pointer-events: none;\n}\n\n/* Shape annotations - rendered via SVG overlay */\n.udoc-viewer-root .udoc-annotation--line,\n.udoc-viewer-root .udoc-annotation--square,\n.udoc-viewer-root .udoc-annotation--circle,\n.udoc-viewer-root .udoc-annotation--polygon,\n.udoc-viewer-root .udoc-annotation--polyLine,\n.udoc-viewer-root .udoc-annotation--ink {\n pointer-events: none;\n}\n\n/* Redact annotation */\n.udoc-viewer-root .udoc-annotation--redact {\n pointer-events: none;\n}\n\n/* Annotation Panel */\n.udoc-viewer-root .udoc-annotation-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-annotation-panel__loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--udoc-text-subtle);\n font-size: 13px;\n}\n\n/* Comments List */\n.udoc-viewer-root .udoc-comments-list {\n display: flex;\n flex-direction: column;\n}\n\n/* Page Group */\n.udoc-viewer-root .udoc-comments-page-group {\n border-bottom: 1px solid var(--udoc-border-medium);\n}\n\n.udoc-viewer-root .udoc-comments-page-group:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comments-page-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 12px;\n cursor: pointer;\n user-select: none;\n background: var(--udoc-bg-page-header);\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comments-page-header:hover {\n background: var(--udoc-bg-panel-tabs);\n}\n\n.udoc-viewer-root .udoc-comments-page-header svg {\n width: 16px;\n height: 16px;\n color: var(--udoc-text-label);\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comments-page-header span {\n font-size: 13px;\n font-weight: 500;\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-comments-page-count {\n margin-left: auto;\n padding: 2px 6px;\n background: var(--udoc-border);\n border-radius: 10px;\n font-size: 11px;\n font-weight: 500;\n color: var(--udoc-text-label);\n}\n\n/* Collapsed state */\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-header svg {\n transform: rotate(-90deg);\n}\n\n.udoc-viewer-root .udoc-comments-page-group--collapsed .udoc-comments-page-content {\n display: none;\n}\n\n/* Page Content */\n.udoc-viewer-root .udoc-comments-page-content {\n display: flex;\n flex-direction: column;\n}\n\n/* Comment Item */\n.udoc-viewer-root .udoc-comment-item {\n display: flex;\n gap: 8px;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n border-bottom: 1px solid var(--udoc-border-light);\n}\n\n.udoc-viewer-root .udoc-comment-item:last-child {\n border-bottom: none;\n}\n\n.udoc-viewer-root .udoc-comment-item:hover {\n background: var(--udoc-subtle-hover);\n}\n\n/* Reply indentation */\n.udoc-viewer-root .udoc-comment-reply {\n background: var(--udoc-bg-reply);\n}\n\n.udoc-viewer-root .udoc-comment-depth-1 {\n padding-left: 28px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-2 {\n padding-left: 44px;\n}\n\n.udoc-viewer-root .udoc-comment-depth-3 {\n padding-left: 60px;\n}\n\n/* Comment Icon */\n.udoc-viewer-root .udoc-comment-icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--udoc-text-subtle);\n}\n\n.udoc-viewer-root .udoc-comment-icon svg {\n width: 16px;\n height: 16px;\n}\n\n/* Comment Body */\n.udoc-viewer-root .udoc-comment-body {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* Comment Header */\n.udoc-viewer-root .udoc-comment-header {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.udoc-viewer-root .udoc-comment-author {\n font-size: 12px;\n font-weight: 600;\n color: var(--udoc-text-heading);\n}\n\n/* Status Badge */\n.udoc-viewer-root .udoc-comment-status {\n padding: 1px 6px;\n border-radius: 8px;\n font-size: 10px;\n font-weight: 500;\n text-transform: capitalize;\n}\n\n.udoc-viewer-root .udoc-comment-status--accepted {\n background: var(--udoc-status-accepted-bg);\n color: var(--udoc-status-accepted-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--rejected {\n background: var(--udoc-status-rejected-bg);\n color: var(--udoc-status-rejected-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--completed {\n background: var(--udoc-status-completed-bg);\n color: var(--udoc-status-completed-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--cancelled {\n background: var(--udoc-status-cancelled-bg);\n color: var(--udoc-status-cancelled-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--marked {\n background: var(--udoc-status-marked-bg);\n color: var(--udoc-status-marked-text);\n}\n\n.udoc-viewer-root .udoc-comment-status--unmarked {\n background: var(--udoc-status-cancelled-bg);\n color: var(--udoc-status-cancelled-text);\n}\n\n/* Comment Contents */\n.udoc-viewer-root .udoc-comment-contents {\n font-size: 12px;\n color: var(--udoc-text-body);\n line-height: 1.4;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n\n/* Reply Toggle */\n.udoc-viewer-root .udoc-comment-toggle {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n margin-top: 4px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-primary);\n font-size: 11px;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-comment-toggle:hover {\n background: var(--udoc-primary-subtle-bg);\n}\n\n.udoc-viewer-root .udoc-comment-toggle svg {\n width: 12px;\n height: 12px;\n transition: transform 0.2s ease;\n}\n\n.udoc-viewer-root .udoc-comment-toggle--expanded svg {\n transform: rotate(90deg);\n}\n\n/* Replies Container */\n.udoc-viewer-root .udoc-comment-replies {\n display: flex;\n flex-direction: column;\n}\n\n.udoc-viewer-root .udoc-comment-replies--collapsed {\n display: none;\n}\n\n/* Annotation Highlight Animation */\n@keyframes udoc-annotation-pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(0, 102, 204, 0.7);\n }\n 50% {\n box-shadow: 0 0 0 8px rgba(0, 102, 204, 0.3);\n }\n 100% {\n box-shadow: 0 0 0 12px rgba(0, 102, 204, 0);\n }\n}\n\n.udoc-viewer-root .udoc-annotation--highlighted {\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid var(--udoc-primary);\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Highlight indicator for full-layer markup annotations */\n.udoc-viewer-root .udoc-annotation-highlight-indicator {\n position: absolute;\n box-sizing: border-box;\n pointer-events: none;\n animation: udoc-annotation-pulse 1.5s ease-out;\n outline: 2px solid var(--udoc-primary);\n outline-offset: 2px;\n border-radius: 2px;\n z-index: 10;\n}\n\n/* Mobile Panel Overlay */\n.udoc-viewer-root .udoc-panel-overlay {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-overlay);\n z-index: 140;\n}\n\n/* ===== Responsive: Small Mobile (\u2264480px) ===== */\n@container udoc-viewer (max-width: 480px) {\n /* Make body-slot a positioning context */\n .udoc-viewer-root .udoc-body-slot {\n position: relative;\n }\n\n /* Collapse panels to slide-out drawers */\n .udoc-viewer-root .udoc-left-panel {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n transform: translateX(-100%);\n transition: transform 0.2s ease;\n }\n\n .udoc-viewer-root .udoc-left-panel:not(.udoc-left-panel--closed) {\n transform: translateX(0);\n box-shadow: var(--udoc-shadow-panel);\n }\n\n .udoc-viewer-root .udoc-left-panel--closed {\n width: 280px !important;\n transform: translateX(-100%);\n }\n\n .udoc-viewer-root .udoc-right-panel {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 280px !important;\n z-index: 150;\n transform: translateX(100%);\n transition: transform 0.2s ease;\n }\n\n .udoc-viewer-root .udoc-right-panel:not(.udoc-right-panel--closed) {\n transform: translateX(0);\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n }\n\n .udoc-viewer-root .udoc-right-panel--closed {\n width: 280px !important;\n transform: translateX(100%);\n }\n\n /* Show overlay when panel is open */\n .udoc-viewer-root.udoc-panel-open .udoc-panel-overlay {\n display: block;\n }\n\n /* Viewport becomes flex column so floating toolbar is a footer */\n .udoc-viewer-root .udoc-viewport {\n display: flex;\n flex-direction: column;\n }\n\n .udoc-viewer-root .udoc-viewport__content {\n flex: 1 1 auto;\n overflow: hidden;\n }\n\n /* Convert floating bar to full-width footer toolbar */\n .udoc-viewer-root .udoc-floating-toolbar {\n position: relative;\n bottom: auto;\n left: auto;\n flex: 0 0 auto;\n transform: none;\n border-radius: 0;\n box-sizing: border-box;\n background: var(--udoc-bg-panel);\n border-top: 1px solid var(--udoc-border);\n height: 40px;\n padding: 0 12px;\n gap: 8px;\n max-width: none;\n justify-content: center;\n }\n\n /* Raise toolbar above slide-out panels so overflow dropdown is not hidden */\n .udoc-viewer-root .udoc-toolbar-slot {\n z-index: 160;\n }\n\n /* Hide individual right-section buttons on mobile; show overflow menu */\n .udoc-viewer-root .udoc-toolbar__btn--search,\n .udoc-viewer-root .udoc-toolbar__btn--comments,\n .udoc-viewer-root .udoc-toolbar__btn--print,\n .udoc-viewer-root .udoc-toolbar__btn--download,\n .udoc-viewer-root .udoc-toolbar__btn--theme,\n .udoc-viewer-root .udoc-toolbar__btn--fullscreen {\n display: none !important;\n }\n\n .udoc-viewer-root .udoc-overflow-menu {\n display: block;\n }\n\n /* Larger panel tab buttons for touch */\n .udoc-viewer-root .udoc-left-panel__tabs {\n width: 44px;\n padding: 8px 0;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab {\n width: 44px;\n height: 44px;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab svg {\n width: 22px;\n height: 22px;\n }\n\n /* Toolbar adjustments */\n .udoc-viewer-root .udoc-toolbar {\n padding: 0 4px;\n gap: 4px;\n }\n\n .udoc-viewer-root .udoc-toolbar__btn {\n box-sizing: border-box;\n padding: 6px;\n }\n\n /* View mode menu - right align */\n .udoc-viewer-root .udoc-view-mode-menu__dropdown {\n left: auto;\n right: 0;\n }\n\n .udoc-viewer-root .udoc-zoom-dropdown__item {\n padding: 12px 16px;\n }\n\n .udoc-viewer-root .udoc-view-mode-menu__option {\n width: 36px;\n height: 36px;\n }\n}\n\n/* ===== Password Dialog ===== */\n.udoc-viewer-root .udoc-password-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 200;\n}\n\n.udoc-viewer-root .udoc-password-dialog {\n background: var(--udoc-bg-surface);\n border-radius: 12px;\n box-shadow: var(--udoc-shadow-dialog);\n padding: 24px;\n max-width: 360px;\n width: 90%;\n}\n\n.udoc-viewer-root .udoc-password-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 12px;\n}\n\n.udoc-viewer-root .udoc-password-icon {\n width: 32px;\n height: 32px;\n color: var(--udoc-text-label);\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-password-title {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-password-message {\n margin: 0 0 20px 0;\n font-size: 14px;\n color: var(--udoc-text-label);\n line-height: 1.5;\n}\n\n.udoc-viewer-root .udoc-password-form {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper {\n display: flex;\n align-items: center;\n border: 1px solid var(--udoc-border);\n border-radius: 8px;\n background: var(--udoc-bg-input);\n transition:\n border-color 0.15s,\n box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-input-wrapper:focus-within {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 3px var(--udoc-primary-active-bg);\n}\n\n.udoc-viewer-root .udoc-password-input {\n flex: 1;\n padding: 12px 14px;\n border: none;\n border-radius: 8px 0 0 8px;\n background: transparent;\n font-size: 15px;\n color: var(--udoc-text-heading);\n outline: none;\n}\n\n.udoc-viewer-root .udoc-password-input::placeholder {\n color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-password-input:disabled {\n background: var(--udoc-bg-panel);\n color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-password-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n border: none;\n background: transparent;\n color: var(--udoc-text-subtle);\n cursor: pointer;\n transition: color 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-toggle:hover {\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-password-toggle svg {\n width: 20px;\n height: 20px;\n}\n\n.udoc-viewer-root .udoc-password-error {\n margin: 0;\n padding: 8px 12px;\n background: var(--udoc-error-bg);\n border: 1px solid var(--udoc-error-border);\n border-radius: 6px;\n font-size: 13px;\n color: var(--udoc-error-text);\n}\n\n.udoc-viewer-root .udoc-password-submit {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px 20px;\n border: none;\n border-radius: 8px;\n background: var(--udoc-primary);\n color: var(--udoc-text-on-primary);\n font-size: 15px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-password-submit:hover:not(:disabled) {\n background: var(--udoc-primary-hover);\n}\n\n.udoc-viewer-root .udoc-password-submit:disabled {\n background: var(--udoc-primary-disabled);\n cursor: not-allowed;\n}\n\n.udoc-viewer-root .udoc-password-submit-spinner svg {\n width: 20px;\n height: 20px;\n}\n\n/* ===== Print Dialog ===== */\n.udoc-viewer-root .udoc-print-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 210;\n}\n\n.udoc-viewer-root .udoc-print-dialog {\n background: var(--udoc-bg-surface);\n border-radius: 12px;\n box-shadow: var(--udoc-shadow-dialog);\n padding: 24px;\n max-width: 400px;\n width: 90%;\n}\n\n.udoc-viewer-root .udoc-print-title {\n margin: 0 0 20px 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--udoc-text-heading);\n}\n\n.udoc-viewer-root .udoc-print-section {\n margin-bottom: 16px;\n}\n\n.udoc-viewer-root .udoc-print-section-label {\n display: block;\n font-size: 13px;\n font-weight: 600;\n color: var(--udoc-text-label);\n margin-bottom: 8px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.udoc-viewer-root .udoc-print-radios {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.udoc-viewer-root .udoc-print-radio {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--udoc-text-heading);\n cursor: pointer;\n padding: 4px 0;\n}\n\n.udoc-viewer-root .udoc-print-radio input[type=\"radio\"] {\n accent-color: var(--udoc-primary);\n margin: 0;\n cursor: pointer;\n}\n\n.udoc-viewer-root .udoc-print-input {\n padding: 4px 8px;\n border: 1px solid var(--udoc-border);\n border-radius: 6px;\n background: var(--udoc-bg-input);\n color: var(--udoc-text-heading);\n font-size: 14px;\n outline: none;\n transition:\n border-color 0.15s,\n box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-print-input:focus {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 3px var(--udoc-primary-active-bg);\n}\n\n.udoc-viewer-root .udoc-print-input:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.udoc-viewer-root .udoc-print-input[type=\"number\"] {\n width: 64px;\n}\n\n.udoc-viewer-root .udoc-print-input[type=\"text\"] {\n flex: 1;\n min-width: 0;\n}\n\n.udoc-viewer-root .udoc-print-select {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--udoc-border);\n border-radius: 8px;\n background: var(--udoc-bg-input);\n color: var(--udoc-text-heading);\n font-size: 14px;\n outline: none;\n cursor: pointer;\n transition:\n border-color 0.15s,\n box-shadow 0.15s;\n}\n\n.udoc-viewer-root .udoc-print-select:focus {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 3px var(--udoc-primary-active-bg);\n}\n\n.udoc-viewer-root .udoc-print-error {\n margin: 0 0 12px 0;\n padding: 8px 12px;\n background: var(--udoc-error-bg);\n border: 1px solid var(--udoc-error-border);\n border-radius: 6px;\n font-size: 13px;\n color: var(--udoc-error-text);\n display: none;\n}\n\n.udoc-viewer-root .udoc-print-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n margin-top: 20px;\n}\n\n.udoc-viewer-root .udoc-print-btn {\n padding: 8px 20px;\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s;\n}\n\n.udoc-viewer-root .udoc-print-btn--cancel {\n background: transparent;\n color: var(--udoc-text-label);\n}\n\n.udoc-viewer-root .udoc-print-btn--cancel:hover {\n background: var(--udoc-bg-hover);\n}\n\n.udoc-viewer-root .udoc-print-btn--print {\n background: var(--udoc-primary);\n color: var(--udoc-text-on-primary);\n}\n\n.udoc-viewer-root .udoc-print-btn--print:hover {\n background: var(--udoc-primary-hover);\n}\n\n/* ===== Loading Overlay ===== */\n.udoc-viewer-root .udoc-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--udoc-bg-loading);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 180;\n backdrop-filter: blur(2px);\n}\n\n.udoc-viewer-root .udoc-loading-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 24px;\n}\n\n.udoc-viewer-root .udoc-loading-spinner {\n width: 40px;\n height: 40px;\n color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-loading-spinner svg {\n width: 100%;\n height: 100%;\n}\n\n.udoc-viewer-root .udoc-loading-progress-container {\n width: 240px;\n}\n\n.udoc-viewer-root .udoc-loading-progress-track {\n width: 100%;\n height: 6px;\n background: var(--udoc-progress-track);\n border-radius: 3px;\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill {\n height: 100%;\n background: var(--udoc-progress-fill);\n border-radius: 3px;\n width: 0%;\n transition: width 0.2s ease-out;\n}\n\n.udoc-viewer-root .udoc-loading-progress-fill--indeterminate {\n animation: udoc-loading-indeterminate 1.5s ease-in-out infinite;\n}\n\n@keyframes udoc-loading-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 50% {\n transform: translateX(233%);\n }\n 100% {\n transform: translateX(-100%);\n }\n}\n\n.udoc-viewer-root .udoc-loading-progress-text {\n font-size: 13px;\n color: var(--udoc-text-label);\n text-align: center;\n}\n\n/* Logo path colors */\n.udoc-viewer-root .udoc-logo-doc {\n fill: #0f172a;\n}\n\n.udoc-viewer-root .udoc-logo-mentis {\n fill: #4f46e5;\n}\n\n.udoc-viewer-dark .udoc-logo-doc {\n fill: #e2e8f0;\n}\n\n.udoc-viewer-dark .udoc-logo-mentis {\n fill: #818cf8;\n}\n\n/* =============================================================================\n Search Panel\n ============================================================================= */\n\n.udoc-viewer-root .udoc-search-panel {\n display: flex;\n flex-direction: column;\n height: 100%;\n font-size: 13px;\n}\n\n.udoc-viewer-root .udoc-search-panel__header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 12px 12px 8px;\n}\n\n.udoc-viewer-root .udoc-search-panel__input-wrapper {\n flex: 1;\n display: flex;\n align-items: center;\n border: 1px solid var(--udoc-border-input);\n border-radius: 4px;\n background: var(--udoc-bg-input);\n overflow: hidden;\n}\n\n.udoc-viewer-root .udoc-search-panel__input-wrapper:focus-within {\n border-color: var(--udoc-primary);\n box-shadow: 0 0 0 2px var(--udoc-primary-focus-ring);\n}\n\n.udoc-viewer-root .udoc-search-panel__input-icon {\n display: flex;\n align-items: center;\n padding: 0 6px 0 8px;\n color: var(--udoc-text-placeholder);\n}\n\n.udoc-viewer-root .udoc-search-panel__input-icon svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-search-panel__input {\n flex: 1;\n border: none;\n outline: none;\n padding: 6px 8px 6px 0;\n font-size: 13px;\n min-width: 0;\n background: transparent;\n}\n\n/* Suppress focus ring on the inner input \u2014 the wrapper handles :focus-within */\n.udoc-viewer-root .udoc-search-panel__input:focus-visible {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-search-panel__clear {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n margin-right: 4px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: var(--udoc-text-placeholder);\n cursor: pointer;\n padding: 0;\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-search-panel__clear:hover {\n background: var(--udoc-hover-overlay);\n color: var(--udoc-text-body);\n}\n\n.udoc-viewer-root .udoc-search-panel__clear svg {\n width: 14px;\n height: 14px;\n}\n\n.udoc-viewer-root .udoc-search-panel__clear:focus-visible {\n outline: none;\n}\n\n.udoc-viewer-root .udoc-search-panel__case {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--udoc-border-input);\n border-radius: 4px;\n background: var(--udoc-bg-input);\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n color: var(--udoc-text-label);\n flex-shrink: 0;\n}\n\n.udoc-viewer-root .udoc-search-panel__case:hover {\n background: var(--udoc-bg-page-header);\n}\n\n.udoc-viewer-root .udoc-search-panel__case--active {\n background: var(--udoc-primary);\n color: var(--udoc-text-on-primary);\n border-color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-search-panel__case--active:hover {\n background: var(--udoc-primary-hover);\n}\n\n.udoc-viewer-root .udoc-search-panel__nav {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n border-bottom: 1px solid var(--udoc-border-light);\n min-height: 32px;\n}\n\n.udoc-viewer-root .udoc-search-panel__status {\n color: var(--udoc-text-label);\n font-size: 12px;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-buttons {\n display: flex;\n gap: 2px;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n border-radius: 4px;\n background: transparent;\n cursor: pointer;\n color: var(--udoc-text-heading);\n padding: 0;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn svg {\n width: 16px;\n height: 16px;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn:hover {\n background: var(--udoc-hover-overlay);\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn:disabled {\n opacity: 0.3;\n cursor: default;\n}\n\n.udoc-viewer-root .udoc-search-panel__nav-btn:disabled:hover {\n background: transparent;\n}\n\n.udoc-viewer-root .udoc-search-panel__results {\n flex: 1;\n overflow-y: auto;\n padding: 0;\n}\n\n.udoc-viewer-root .udoc-search-result__page-header {\n padding: 8px 12px 4px;\n font-size: 11px;\n font-weight: 600;\n color: var(--udoc-text-placeholder);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n position: sticky;\n top: 0;\n background: var(--udoc-bg-surface);\n z-index: 1;\n}\n\n.udoc-viewer-root .udoc-search-result {\n padding: 6px 12px;\n cursor: pointer;\n font-size: 12px;\n line-height: 1.4;\n color: var(--udoc-text-heading);\n border-left: 3px solid transparent;\n}\n\n.udoc-viewer-root .udoc-search-result:hover {\n background: var(--udoc-faint-hover);\n}\n\n.udoc-viewer-root .udoc-search-result--active {\n background: var(--udoc-search-result-active-bg);\n border-left-color: var(--udoc-primary);\n}\n\n.udoc-viewer-root .udoc-search-result__context {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n color: var(--udoc-text-body);\n}\n\n.udoc-viewer-root .udoc-search-result__match {\n background: var(--udoc-search-match-bg);\n color: var(--udoc-search-match-text);\n border-radius: 2px;\n padding: 0 1px;\n}\n\n/* =============================================================================\n Search Highlights on Pages\n ============================================================================= */\n\n.udoc-viewer-root .udoc-spread__search-highlight-layer {\n position: absolute;\n pointer-events: none;\n}\n\n.udoc-viewer-root .udoc-search-highlight {\n background-color: var(--udoc-search-highlight);\n mix-blend-mode: multiply;\n border-radius: 1px;\n}\n\n.udoc-viewer-root .udoc-search-highlight--active {\n background-color: var(--udoc-search-highlight-active);\n outline: 2px solid var(--udoc-search-highlight-active-outline);\n outline-offset: 1px;\n}\n\n/* Dark mode blend mode overrides */\n.udoc-viewer-root.udoc-viewer-dark .udoc-annotation__quad {\n mix-blend-mode: screen;\n}\n\n.udoc-viewer-root.udoc-viewer-dark .udoc-search-highlight {\n mix-blend-mode: screen;\n}\n\n/* === Accessibility === */\n\n/* Screen-reader-only utility (visually hidden but accessible) */\n.udoc-viewer-root .udoc-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Skip navigation link */\n.udoc-viewer-root .udoc-skip-link {\n position: absolute;\n top: -100px;\n left: 0;\n z-index: 10000;\n padding: 8px 16px;\n background: var(--udoc-bg-surface);\n color: var(--udoc-text-heading);\n text-decoration: none;\n font-size: 14px;\n border-radius: 0 0 4px 0;\n box-shadow: var(--udoc-shadow-sm);\n}\n\n.udoc-viewer-root .udoc-skip-link:focus {\n top: 0;\n}\n\n/* Keyboard focus indicators */\n.udoc-viewer-root :focus-visible {\n outline: 2px solid var(--udoc-primary);\n outline-offset: 2px;\n}\n\n.udoc-viewer-root :focus:not(:focus-visible) {\n outline: none;\n}\n\n/* Reduced motion */\n@media (prefers-reduced-motion: reduce) {\n .udoc-viewer-root,\n .udoc-viewer-root * {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n}\n\n/* High contrast preference */\n@media (prefers-contrast: more) {\n .udoc-viewer-root {\n --udoc-border: #000;\n --udoc-border-input: #000;\n --udoc-text-muted: rgba(0, 0, 0, 0.7);\n --udoc-text-faint: rgba(0, 0, 0, 0.6);\n --udoc-primary-focus-ring: rgba(0, 102, 204, 0.5);\n }\n\n .udoc-viewer-root.udoc-viewer-dark {\n --udoc-border: #aaa;\n --udoc-border-input: #aaa;\n --udoc-text-muted: rgba(255, 255, 255, 0.7);\n --udoc-text-faint: rgba(255, 255, 255, 0.6);\n --udoc-primary-focus-ring: rgba(77, 166, 255, 0.5);\n }\n\n .udoc-viewer-root :focus-visible {\n outline-width: 3px;\n }\n}\n\n/* Forced colors (Windows High Contrast) */\n@media (forced-colors: active) {\n .udoc-viewer-root .udoc-thumbnail-item--active {\n outline: 3px solid Highlight;\n }\n\n .udoc-viewer-root .udoc-toolbar__btn,\n .udoc-viewer-root .udoc-floating-toolbar__btn,\n .udoc-viewer-root .udoc-left-panel__tab {\n border: 1px solid ButtonText;\n }\n\n .udoc-viewer-root .udoc-left-panel__tab--active {\n background: Highlight;\n color: HighlightText;\n }\n\n .udoc-viewer-root .udoc-search-highlight {\n outline: 2px solid Highlight;\n }\n}\n\n/* Resize handle focus styles */\n.udoc-viewer-root .udoc-left-panel__resize-handle:focus-visible,\n.udoc-viewer-root .udoc-right-panel__resize-handle:focus-visible {\n background: var(--udoc-primary-muted);\n outline: 2px solid var(--udoc-primary);\n outline-offset: -2px;\n}\n\n/* Touch target sizes for coarse pointers (panels and side UI only \u2014 toolbars handle their own sizing) */\n@media (pointer: coarse) {\n .udoc-viewer-root .udoc-left-panel__tab {\n width: 44px;\n height: 44px;\n }\n\n .udoc-viewer-root .udoc-left-panel__tabs {\n width: 44px;\n }\n\n .udoc-viewer-root .udoc-outline-item__toggle {\n min-width: 44px;\n min-height: 44px;\n }\n}\n";
2
2
  //# sourceMappingURL=styles-inline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles-inline.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,8h8DAkgFxB,CAAC"}
1
+ {"version":3,"file":"styles-inline.d.ts","sourceRoot":"","sources":["../../../../src/ui/viewer/styles-inline.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,whgEA2lFxB,CAAC"}