structural-codes-viewer 0.1.0-alpha.1 → 0.1.0-alpha.3

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 (63) hide show
  1. package/LICENSE +501 -0
  2. package/NOTICE +16 -0
  3. package/README.md +57 -68
  4. package/package-dist/CorpusContent.d.ts +44 -9
  5. package/package-dist/CorpusContent.js +452 -26
  6. package/package-dist/CorpusContent.js.map +1 -1
  7. package/package-dist/NormativeViewer.d.ts +23 -2
  8. package/package-dist/NormativeViewer.js +1699 -234
  9. package/package-dist/NormativeViewer.js.map +1 -1
  10. package/package-dist/ReferenceTools.d.ts +49 -0
  11. package/package-dist/ReferenceTools.js +14 -0
  12. package/package-dist/ReferenceTools.js.map +1 -0
  13. package/package-dist/annotations/AnnotationUi.d.ts +57 -0
  14. package/package-dist/annotations/AnnotationUi.js +114 -0
  15. package/package-dist/annotations/AnnotationUi.js.map +1 -0
  16. package/package-dist/annotations/annotationTargets.d.ts +39 -0
  17. package/package-dist/annotations/annotationTargets.js +94 -0
  18. package/package-dist/annotations/annotationTargets.js.map +1 -0
  19. package/package-dist/annotations/exportImport.d.ts +6 -0
  20. package/package-dist/annotations/exportImport.js +30 -0
  21. package/package-dist/annotations/exportImport.js.map +1 -0
  22. package/package-dist/annotations/index.d.ts +4 -0
  23. package/package-dist/annotations/index.js +5 -0
  24. package/package-dist/annotations/index.js.map +1 -0
  25. package/package-dist/annotations/indexedDb.d.ts +21 -0
  26. package/package-dist/annotations/indexedDb.js +210 -0
  27. package/package-dist/annotations/indexedDb.js.map +1 -0
  28. package/package-dist/annotations/schema.d.ts +8 -0
  29. package/package-dist/annotations/schema.js +102 -0
  30. package/package-dist/annotations/schema.js.map +1 -0
  31. package/package-dist/annotations/types.d.ts +52 -0
  32. package/package-dist/annotations/types.js +18 -0
  33. package/package-dist/annotations/types.js.map +1 -0
  34. package/package-dist/chunkNavigation.d.ts +12 -0
  35. package/package-dist/chunkNavigation.js +44 -0
  36. package/package-dist/chunkNavigation.js.map +1 -0
  37. package/package-dist/corpusData.d.ts +176 -33
  38. package/package-dist/corpusData.js +52 -0
  39. package/package-dist/corpusData.js.map +1 -1
  40. package/package-dist/crossReferences.d.ts +46 -0
  41. package/package-dist/crossReferences.js +198 -0
  42. package/package-dist/crossReferences.js.map +1 -0
  43. package/package-dist/generate-artifacts.mjs +47 -12
  44. package/package-dist/globalScrubber.d.ts +10 -0
  45. package/package-dist/globalScrubber.js +85 -0
  46. package/package-dist/globalScrubber.js.map +1 -0
  47. package/package-dist/permalinks.d.ts +22 -0
  48. package/package-dist/permalinks.js +36 -0
  49. package/package-dist/permalinks.js.map +1 -0
  50. package/package-dist/searchClient.d.ts +22 -0
  51. package/package-dist/searchClient.js +133 -0
  52. package/package-dist/searchClient.js.map +1 -0
  53. package/package-dist/searchEngine.d.ts +68 -0
  54. package/package-dist/searchEngine.js +558 -0
  55. package/package-dist/searchEngine.js.map +1 -0
  56. package/package-dist/searchWorker.d.ts +1 -0
  57. package/package-dist/searchWorker.js +32 -0
  58. package/package-dist/searchWorker.js.map +1 -0
  59. package/package-dist/styles.css +762 -182
  60. package/package-dist/tableCaptions.d.mts +3 -0
  61. package/package-dist/tableCaptions.mjs +35 -0
  62. package/package-dist/tableCaptions.mjs.map +1 -0
  63. package/package.json +18 -14
@@ -1,182 +1,762 @@
1
- @import "@fontsource/tinos/latin-400.css";
2
- @import "@fontsource/tinos/latin-400-italic.css";
3
- @import "@fontsource/tinos/latin-700.css";
4
-
5
- .scv-root {
6
- --scv-primary: #3c52a3;
7
- --scv-primary-dark: #293b82;
8
- --scv-primary-soft: #e8ecfb;
9
- --scv-ink: #20242c;
10
- --scv-ink-soft: #69717e;
11
- --scv-paper: #f6f7fb;
12
- --scv-panel: #ffffff;
13
- --scv-line: #d9deea;
14
- --scv-circular: #f0f3fb;
15
- --scv-amber: #9a671e;
16
- --scv-amber-soft: #fff3d8;
17
- display: grid;
18
- grid-template-columns: minmax(330px, 37fr) minmax(460px, 63fr);
19
- min-width: 0;
20
- height: 100vh;
21
- overflow: hidden;
22
- color: var(--scv-ink);
23
- background: var(--scv-paper);
24
- font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
25
- }
26
-
27
- .scv-root.scv-has-auxiliary {
28
- grid-template-columns: minmax(320px, 27fr) minmax(430px, 35fr) minmax(380px, 38fr);
29
- }
30
-
31
- .scv-root *,
32
- .scv-root *::before,
33
- .scv-root *::after { box-sizing: border-box; }
34
-
35
- .scv-root button,
36
- .scv-root input { font: inherit; }
37
-
38
- .scv-root button,
39
- .scv-root a { -webkit-tap-highlight-color: transparent; }
40
-
41
- .scv-root button:focus-visible,
42
- .scv-root a:focus-visible,
43
- .scv-root input:focus-visible,
44
- .scv-root summary:focus-visible { outline: 2px solid var(--scv-primary); outline-offset: 2px; }
45
-
46
- .scv-index-pane,
47
- .scv-text-pane,
48
- .scv-auxiliary-pane { min-width: 0; height: 100vh; border-right: 1px solid var(--scv-line); }
49
-
50
- .scv-index-pane { position: relative; display: grid; grid-template-rows: 54px minmax(0, 1fr); overflow: hidden; background: #eef0f6; }
51
-
52
- .scv-search-toolbar { position: relative; z-index: 5; display: grid; grid-template-columns: minmax(0, 1fr) 48px; gap: 6px; padding: 7px; background: var(--scv-panel); border-bottom: 1px solid var(--scv-line); }
53
-
54
- .scv-search-form { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 7px; min-width: 0; padding: 0 9px; color: var(--scv-ink-soft); background: #fafbfe; border: 1px solid var(--scv-line); border-radius: 6px; }
55
-
56
- .scv-search-form input { min-width: 0; padding: 8px 0; color: var(--scv-ink); font-size: 12px; background: transparent; border: 0; outline: 0; }
57
- .scv-search-form input::placeholder { color: #8a92a1; }
58
- .scv-search-form kbd { padding: 2px 5px; color: #8991a0; font-size: 9px; border: 1px solid var(--scv-line); border-radius: 3px; }
59
- .scv-clear-search { padding: 0 3px; color: var(--scv-ink-soft); background: transparent; border: 0; cursor: pointer; }
60
- .scv-settings-button { display: grid; place-items: center; color: var(--scv-primary-dark); background: var(--scv-primary-soft); border: 1px solid #c8d0ee; border-radius: 6px; cursor: pointer; }
61
- .scv-settings-button:hover { color: #fff; background: var(--scv-primary); }
62
-
63
- .scv-search-results { position: absolute; z-index: 10; top: 53px; left: 7px; right: 61px; display: grid; max-height: min(60vh, 510px); overflow: auto; padding: 5px; background: #fff; border: 1px solid var(--scv-line); border-radius: 0 0 7px 7px; box-shadow: 0 12px 28px rgb(34 45 75 / 16%); }
64
- .scv-search-result { display: grid; gap: 3px; padding: 9px 10px; color: var(--scv-ink); text-align: left; background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
65
- .scv-search-result:hover, .scv-search-result:focus-visible { background: var(--scv-primary-soft); }
66
- .scv-search-result span { color: var(--scv-primary); font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
67
- .scv-search-result strong { font-family: "Tinos", serif; font-size: 16px; font-weight: 700; }
68
- .scv-search-result small { overflow: hidden; color: var(--scv-ink-soft); font-family: "Tinos", serif; font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
69
- .scv-search-status { margin: 5px; padding: 11px; color: var(--scv-ink-soft); font-size: 11px; }
70
-
71
- .scv-index-grid { display: grid; min-height: 0; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
72
- .scv-index-cell { display: grid; min-width: 0; min-height: 0; grid-template-rows: 29px minmax(0, 1fr); border-right: 1px solid var(--scv-line); border-bottom: 1px solid var(--scv-line); }
73
- .scv-index-cell:nth-child(2) { grid-row: 2; grid-column: 1; }
74
- .scv-index-cell:nth-child(3) { grid-row: 1; grid-column: 2; }
75
- .scv-index-cell:nth-child(4) { grid-row: 2; grid-column: 2; }
76
- .scv-index-cell > header { display: flex; align-items: center; justify-content: space-between; padding: 0 9px; color: #737b8a; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: #e4e7f0; border-bottom: 1px solid var(--scv-line); }
77
- .scv-index-cell > header b { color: #9aa2b1; font-size: 9px; font-variant-numeric: lining-nums; }
78
- .scv-index-list { min-height: 0; padding: 3px; overflow: auto; scrollbar-color: #b8c0d2 transparent; scrollbar-width: thin; }
79
- .scv-index-list button { display: grid; width: 100%; grid-template-columns: max-content minmax(0, 1fr); gap: 6px; padding: 5px 6px; color: #4f5867; text-align: left; background: transparent; border: 0; border-radius: 3px; cursor: pointer; }
80
- .scv-index-list button:hover { background: rgb(255 255 255 / 70%); }
81
- .scv-index-list button.active { color: #fff; background: var(--scv-primary); box-shadow: 0 2px 7px rgb(60 82 163 / 24%); }
82
- .scv-index-list strong { overflow: hidden; max-width: 62px; color: var(--scv-primary-dark); font-family: "Tinos", serif; font-size: 10px; font-variant-numeric: lining-nums; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
83
- .scv-index-list button.active strong { color: #fff; }
84
- .scv-index-list span { display: -webkit-box; overflow: hidden; font-family: "Tinos", serif; font-size: 11px; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
85
-
86
- .scv-text-pane { position: relative; overflow: auto; background: #fff; scrollbar-color: #b1b8c7 transparent; scrollbar-width: thin; scroll-behavior: auto; }
87
- .scv-text-flow { width: min(100%, 790px); min-height: 100%; margin: 0 auto; padding: 23px 26px 55vh; }
88
- .scv-chunk-note { margin: 0 0 14px; padding-bottom: 9px; color: #8991a0; font-size: 8px; border-bottom: 1px solid #e2e5ed; }
89
- .scv-unit { scroll-margin-top: 14px; }
90
- .scv-unit h2 { display: block; margin: 5px 0 4px; color: var(--scv-ink); font-family: "Tinos", serif; font-size: 16px; font-weight: 700; line-height: 1.2; font-variant-numeric: lining-nums; }
91
- .scv-unit h2 span { margin-right: 7px; color: var(--scv-primary); font-family: "Tinos", serif; font-size: inherit; font-variant-numeric: lining-nums; font-weight: 700; white-space: nowrap; }
92
- .scv-unit-depth-0 h2 { margin-top: 18px; color: var(--scv-primary-dark); font-size: 19px; }
93
- .scv-unit:first-child h2 { margin-top: 0; }
94
- .scv-unit-blocks { display: block; }
95
- .scv-block { display: contents; }
96
- .scv-block p { display: inline; margin: 0; color: #272c35; font-family: "Tinos", serif; font-size: 13px; line-height: 1.48; }
97
- .scv-block p::after { content: " "; }
98
- .scv-block-heading, .scv-block-list-item, .scv-block-formula-ref, .scv-block-table-ref, .scv-block-figure-ref { display: block; }
99
- .scv-block-heading p { display: block; margin: 6px 0 2px; font-weight: 700; }
100
- .scv-block-list-item { padding-left: 11px; }
101
- .scv-block-list-item p::before { margin-right: 5px; color: var(--scv-primary); content: "–"; font-weight: 700; }
102
- .scv-related-unit { margin: 14px 0 18px; padding: 13px 15px; background: var(--scv-circular); border: 1px solid #cfd7ee; border-left: 3px solid var(--scv-primary); border-radius: 4px; }
103
- .scv-related-unit > header h3 { display: block; margin: 6px 0; color: var(--scv-primary); font-family: "Tinos", serif; font-size: 16px; font-variant-numeric: lining-nums; font-weight: 700; line-height: 1.2; }
104
- .scv-related-unit > header h3 span { margin-right: 7px; color: var(--scv-primary); font-family: "Tinos", serif; font-size: inherit; font-variant-numeric: lining-nums; font-weight: 700; white-space: nowrap; }
105
- .scv-end-note { margin-top: 34px; padding-top: 12px; color: #8991a0; font-family: "Tinos", serif; font-size: 11px; font-style: italic; border-top: 1px solid #e2e5ed; }
106
-
107
- .scv-root .inline-math { display: inline-block; margin-inline: .035em; color: #202733; font-size: .96em; white-space: nowrap; }
108
- .scv-root .formula-asset, .scv-root .table-asset, .scv-root .figure-asset { margin: 7px 0 9px; padding: 8px; overflow: hidden; background: #fff; border: 1px solid #dfe3ec; border-radius: 3px; box-shadow: none; }
109
- .scv-root .formula-row { display: flex; align-items: center; gap: 14px; }
110
- .scv-root .formula-scroll, .scv-root .table-scroll { max-width: 100%; overflow-x: auto; }
111
- .scv-root .formula-scroll { flex: 1 1 auto; min-width: 0; padding: 3px; font-size: .8rem; }
112
- .scv-root .formula-number { flex: 0 0 auto; margin-left: auto; color: var(--scv-primary-dark); font-family: "Tinos", serif; font-size: 12px; font-variant-numeric: lining-nums; white-space: nowrap; }
113
- .scv-root .formula-asset figcaption, .scv-root .table-asset figcaption, .scv-root .figure-asset figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 5px; color: #687284; font-size: 8px; }
114
- .scv-root .table-asset figcaption { display: block; margin-bottom: 7px; }
115
- .scv-root .table-asset table { width: 100%; min-width: 520px; border-collapse: collapse; color: #2a3039; font-size: 8px; line-height: 1.42; }
116
- .scv-root .table-asset th, .scv-root .table-asset td { padding: 4px 5px; vertical-align: middle; border: 1px solid #c7ccda; }
117
- .scv-root .table-asset th { color: #fff; font-weight: 700; text-align: center; background: var(--scv-primary-dark); }
118
- .scv-root .table-asset td { background: #fbfcff; }
119
- .scv-root .table-asset tbody tr:nth-child(even) td { background: #f1f3f9; }
120
- .scv-root .table-notes { margin: 8px 0 0; padding-left: 17px; color: #6d7583; font-size: 9px; line-height: 1.4; }
121
- .scv-root .figure-asset img { display: block; width: auto; max-width: 100%; max-height: 430px; margin-inline: auto; object-fit: contain; }
122
- .scv-root .figure-asset figcaption { padding-top: 7px; border-top: 1px solid #dfe3ec; }
123
- .scv-root .asset-missing { padding: 12px; color: #8b342a !important; font-family: ui-sans-serif, sans-serif !important; font-size: 11px !important; background: #fff2ef; }
124
-
125
- .scv-loading, .scv-fatal { display: grid; min-height: 100%; place-content: center; gap: 10px; padding: 28px; color: var(--scv-ink-soft); text-align: center; }
126
- .scv-loading > span { width: 24px; height: 24px; justify-self: center; border: 2px solid #c6ccda; border-top-color: var(--scv-primary); border-radius: 50%; animation: scv-spin .8s linear infinite; }
127
- .scv-loading strong, .scv-fatal strong { font-family: "Tinos", serif; font-size: 14px; font-weight: 700; }
128
- .scv-fatal span { max-width: 300px; font-size: 10px; line-height: 1.5; }
129
- .scv-loading-rows { display: grid; gap: 9px; padding: 12px; }
130
- .scv-loading-rows span { height: 28px; background: linear-gradient(90deg, #e3e6ee, #f8f9fc, #e3e6ee); background-size: 200% 100%; border-radius: 4px; animation: scv-shimmer 1.8s infinite linear; }
131
-
132
- .scv-dialog-backdrop { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 20px; background: rgb(26 34 61 / 38%); }
133
- .scv-dialog { width: min(420px, 100%); padding: 20px; color: var(--scv-ink); background: #fff; border: 1px solid var(--scv-line); border-radius: 10px; box-shadow: 0 24px 70px rgb(22 31 65 / 25%); }
134
- .scv-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
135
- .scv-dialog h2 { margin: 0; color: var(--scv-primary-dark); font-family: "Tinos", serif; font-size: 24px; }
136
- .scv-dialog header button { padding: 0 4px; color: var(--scv-ink-soft); font-size: 24px; line-height: 1; background: transparent; border: 0; cursor: pointer; }
137
- .scv-dialog fieldset { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
138
- .scv-dialog legend { margin-bottom: 8px; color: var(--scv-ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
139
- .scv-dialog label { display: flex; align-items: center; gap: 9px; padding: 9px; font-size: 13px; border-radius: 5px; cursor: pointer; }
140
- .scv-dialog label:has(input:checked) { color: var(--scv-primary-dark); background: var(--scv-primary-soft); }
141
- .scv-dialog input { accent-color: var(--scv-primary); }
142
- .scv-auxiliary-toggle { margin-top: 17px; border-top: 1px solid var(--scv-line); }
143
- .scv-analytical-link { display: inline-block; margin-top: 17px; color: var(--scv-primary); font-size: 11px; font-weight: 700; }
144
-
145
- .scv-pdf-panel { height: 100%; overflow: auto; color: #edf0f7; background: #30343f; scrollbar-color: #777f91 #282c35; scrollbar-width: thin; }
146
- .scv-pdf-status { position: sticky; z-index: 4; top: 8px; display: flex; width: max-content; max-width: calc(100% - 28px); align-items: center; gap: 9px; margin: 8px auto -33px; padding: 6px 8px; color: #eef0f7; font-size: 8px; background: rgb(22 26 35 / 90%); border: 1px solid rgb(255 255 255 / 18%); border-radius: 4px; box-shadow: 0 2px 10px rgb(0 0 0 / 28%); backdrop-filter: blur(8px); }
147
- .scv-pdf-status strong { font-family: "Tinos", serif; font-size: 11px; }
148
- .scv-pdf-status span { color: #c4cad8; font-variant-numeric: lining-nums; }
149
- .scv-pdf-status a { color: #b9c5fb; text-decoration: none; }
150
- .scv-pdf-pages { display: grid; gap: 12px; padding: 46px 14px 55vh; }
151
- .scv-pdf-page { position: relative; width: 100%; min-height: 240px; aspect-ratio: .707 / 1; overflow: hidden; background: #fff; box-shadow: 0 2px 9px rgb(0 0 0 / 38%); }
152
- .scv-pdf-page > span { position: absolute; z-index: 2; top: 5px; right: 6px; padding: 2px 4px; color: #727772; font-size: 7px; background: rgb(255 255 255 / 78%); border-radius: 2px; }
153
- .scv-pdf-page canvas { display: block; width: 100% !important; height: auto !important; background: #fff; }
154
- .scv-pdf-consent { display: grid; min-height: 100%; place-content: center; gap: 10px; padding: 34px; text-align: center; }
155
- .scv-pdf-consent strong { font-family: "Tinos", serif; font-size: 19px; }
156
- .scv-pdf-consent p { max-width: 310px; margin: 0; color: #c6cbd7; font-size: 10px; line-height: 1.55; }
157
- .scv-pdf-consent button { justify-self: center; padding: 9px 13px; color: #fff; font-size: 10px; font-weight: 800; background: var(--scv-primary); border: 0; border-radius: 4px; cursor: pointer; }
158
- .scv-pdf-error { display: grid; min-height: 100%; place-content: center; gap: 8px; padding: 34px; text-align: center; }
159
- .scv-pdf-error strong { font-family: "Tinos", serif; font-size: 15px; }
160
- .scv-pdf-error span { color: #c6cbd7; font-size: 10px; }
161
-
162
- @keyframes scv-spin { to { transform: rotate(360deg); } }
163
- @keyframes scv-shimmer { to { background-position: -200% 0; } }
164
-
165
- @media (max-width: 1120px) {
166
- .scv-root, .scv-root.scv-has-auxiliary { position: relative; display: grid; height: auto; min-height: 100vh; grid-template-columns: minmax(260px, 36fr) minmax(0, 64fr); overflow: visible; }
167
- .scv-index-pane, .scv-text-pane { height: 76vh; }
168
- .scv-auxiliary-pane { height: 70vh; grid-column: 1 / -1; border-right: 0; }
169
- }
170
-
171
- @media (max-width: 700px) {
172
- .scv-root, .scv-root.scv-has-auxiliary { display: block; }
173
- .scv-index-pane { height: 48vh; }
174
- .scv-text-pane { height: auto; min-height: 58vh; }
175
- .scv-text-flow { padding: 18px 16px 60px; }
176
- .scv-auxiliary-pane { height: 72vh; }
177
- .scv-search-form kbd { display: none; }
178
- }
179
-
180
- @media (prefers-reduced-motion: reduce) {
181
- .scv-root *, .scv-root *::before, .scv-root *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
182
- }
1
+ @import "katex/dist/katex.min.css";
2
+ @import "@fontsource/tinos/latin-400.css";
3
+ @import "@fontsource/tinos/latin-400-italic.css";
4
+ @import "@fontsource/tinos/latin-700.css";
5
+
6
+ html,
7
+ body { min-height: 100%; }
8
+
9
+ body { margin: 0; }
10
+ body:has(> .scv-root) { overflow: hidden; }
11
+
12
+ .scv-root {
13
+ /* Change this value to rescale the entire shared viewer typography. */
14
+ --scv-base-font-size: 15px;
15
+ --scv-font-size-7: calc(var(--scv-base-font-size) * 0.5385);
16
+ --scv-font-size-8: calc(var(--scv-base-font-size) * 0.6154);
17
+ --scv-font-size-9: calc(var(--scv-base-font-size) * 0.6923);
18
+ --scv-font-size-10: calc(var(--scv-base-font-size) * 0.7692);
19
+ --scv-font-size-11: calc(var(--scv-base-font-size) * 0.8462);
20
+ --scv-font-size-12: calc(var(--scv-base-font-size) * 0.9231);
21
+ --scv-font-size-12-5: calc(var(--scv-base-font-size) * 0.9615);
22
+ --scv-font-size-14: calc(var(--scv-base-font-size) * 1.0769);
23
+ --scv-font-size-15: calc(var(--scv-base-font-size) * 1.1538);
24
+ --scv-font-size-16: calc(var(--scv-base-font-size) * 1.2308);
25
+ --scv-font-size-18: calc(var(--scv-base-font-size) * 1.3846);
26
+ --scv-font-size-19: calc(var(--scv-base-font-size) * 1.4615);
27
+ --scv-font-size-24: calc(var(--scv-base-font-size) * 1.8462);
28
+ --scv-primary: #3c52a3;
29
+ --scv-primary-dark: #293b82;
30
+ --scv-primary-soft: #e8ecfb;
31
+ --scv-ink: #20242c;
32
+ --scv-ink-soft: #69717e;
33
+ --scv-paper: #f6f7fb;
34
+ --scv-panel: #ffffff;
35
+ --scv-line: #d9deea;
36
+ --scv-danger: #c92f3b;
37
+ --scv-circular: #f0f3fb;
38
+ --scv-amber: #9a671e;
39
+ --scv-amber-soft: #fff3d8;
40
+ --scv-bookmark: #c7353f;
41
+ --scv-note: #d39a16;
42
+ --scv-index-width: clamp(380px, 28vw, 480px);
43
+ position: relative;
44
+ display: grid;
45
+ grid-template-columns: minmax(0, 1fr);
46
+ min-width: 0;
47
+ height: 100dvh;
48
+ overflow: clip;
49
+ color: var(--scv-ink);
50
+ background: var(--scv-paper);
51
+ font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
52
+ font-size: var(--scv-base-font-size);
53
+ }
54
+
55
+ .scv-root *,
56
+ .scv-root *::before,
57
+ .scv-root *::after { box-sizing: border-box; }
58
+
59
+ .scv-root button,
60
+ .scv-root input,
61
+ .scv-root textarea,
62
+ .scv-root select { font: inherit; }
63
+
64
+ .scv-root button,
65
+ .scv-root a { -webkit-tap-highlight-color: transparent; }
66
+
67
+ .scv-root button:focus-visible,
68
+ .scv-root a:focus-visible,
69
+ .scv-root input:focus-visible,
70
+ .scv-root textarea:focus-visible,
71
+ .scv-root select:focus-visible,
72
+ .scv-root summary:focus-visible { outline: 2px solid var(--scv-primary); outline-offset: 2px; }
73
+
74
+ .scv-index-pane,
75
+ .scv-text-pane { min-width: 0; height: 100%; border-right: 1px solid var(--scv-line); }
76
+ .scv-auxiliary-pane { min-width: 0; height: 100%; border-left: 1px solid var(--scv-line); }
77
+
78
+ .scv-text-pane-shell { position: relative; min-width: 0; height: 100%; overflow: hidden; }
79
+ .scv-index-pane { position: absolute; z-index: 30; inset: 0; display: grid; width: 100%; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; background: #eef0f6; transform: translateX(-100%); }
80
+ .scv-auxiliary-pane { position: absolute; z-index: 40; inset: 0; width: 100%; overflow: hidden; transform: translateX(100%); }
81
+ .scv-index-pane, .scv-auxiliary-pane { visibility: hidden; pointer-events: none; transition: transform .5s cubic-bezier(.22, .8, .25, 1), visibility 0s linear .5s; }
82
+ .scv-root.scv-mobile-index-open .scv-index-pane, .scv-root.scv-has-auxiliary .scv-auxiliary-pane { visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
83
+ .scv-root.scv-mobile-index-open .scv-text-pane-shell, .scv-root.scv-has-auxiliary .scv-text-pane-shell { pointer-events: none; }
84
+
85
+ .scv-search-toolbar { --scv-toolbar-button-size: 42px; position: relative; z-index: 5; display: grid; grid-template-columns: auto minmax(0, 1fr) auto var(--scv-toolbar-button-size); gap: 6px; padding: 7px; background: var(--scv-panel); border-bottom: 1px solid var(--scv-line); }
86
+ .scv-history-controls { display: flex; gap: 3px; }
87
+ .scv-history-controls button { width: 31px; height: var(--scv-toolbar-button-size); padding: 0; color: var(--scv-primary-dark); font-size: 19px; background: var(--scv-primary-soft); border: 1px solid var(--scv-line); border-radius: 6px; cursor: pointer; }
88
+ .scv-history-controls button:disabled { color: var(--scv-ink-soft); opacity: .42; cursor: default; }
89
+ .scv-history-controls button:hover:not(:disabled) { background: #d8def5; }
90
+
91
+ .scv-search-box { position: relative; z-index: 11; width: 100%; min-width: 0; height: var(--scv-toolbar-button-size); will-change: width; transition: width .52s cubic-bezier(.22, .72, .2, 1); }
92
+
93
+ .scv-search-form { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 5px; min-width: 0; height: 100%; padding: 0 1px 0 9px; color: var(--scv-ink-soft); background: #fafbfe; border: 1px solid var(--scv-line); border-radius: 6px; }
94
+ .scv-search-box.is-editing .scv-search-form { border-color: var(--scv-primary); box-shadow: 0 0 0 1px var(--scv-primary); }
95
+
96
+ @media (min-width: 1400px) {
97
+ .scv-search-box.is-editing { width: calc(100% + var(--scv-toolbar-button-size) + var(--scv-toolbar-button-size) + var(--scv-toolbar-button-size) + var(--scv-toolbar-button-size) + 12px); transition-duration: .38s; }
98
+ }
99
+
100
+ .scv-search-form input { min-width: 0; padding: 8px 0; color: var(--scv-ink); font-size: var(--scv-font-size-12); appearance: none; background: transparent; border: 0; outline: 0; }
101
+ .scv-search-form input:focus-visible { outline: 0; }
102
+ .scv-search-form input::-webkit-search-cancel-button { display: none; appearance: none; }
103
+ .scv-search-form input::placeholder { color: #8a92a1; }
104
+ .scv-search-icon { display: grid; width: 17px; height: 17px; place-items: center; color: #68738c; }
105
+ .scv-search-icon svg { width: 100%; height: 100%; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
106
+ .scv-search-form kbd { padding: 2px 5px; color: #8991a0; font-size: var(--scv-font-size-9); border: 1px solid var(--scv-line); border-radius: 3px; }
107
+ .scv-clear-search { display: grid; width: 23px; height: 23px; min-height: 0; place-items: center; padding: 0; color: var(--scv-ink-soft); line-height: 1; background: transparent; border: 0; border-radius: 4px; cursor: pointer; }
108
+ .scv-clear-search svg { width: 15px; height: 15px; stroke: currentcolor; stroke-width: 1.45; stroke-linecap: round; }
109
+ .scv-clear-search:hover { color: var(--scv-primary-dark); background: var(--scv-primary-soft); }
110
+ .scv-root .scv-theme-button, .scv-root .scv-mode-button { display: grid; width: var(--scv-toolbar-button-size); min-width: 0; height: var(--scv-toolbar-button-size); aspect-ratio: 1; place-items: center; padding: 0; color: var(--scv-primary-dark); font-size: var(--scv-font-size-8); font-weight: 900; background: var(--scv-primary-soft); border: 1px solid #c8d0ee; border-radius: 6px; cursor: pointer; }
111
+ .scv-root .scv-theme-button { position: relative; isolation: isolate; color: #46578f; line-height: 1; transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s cubic-bezier(.2, .8, .2, 1); }
112
+ .scv-root .scv-theme-button:hover, .scv-root .scv-theme-button:focus-visible { color: var(--scv-primary-dark); background: #d8def5; border-color: #b4c0e5; box-shadow: 0 5px 12px rgb(55 68 116 / 16%); transform: translateY(-1px) scale(1.04); }
113
+ .scv-theme-icon { display: grid; width: 22px; height: 22px; place-items: center; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
114
+ .scv-theme-icon svg { width: 100%; height: 100%; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
115
+ .scv-theme-button:hover .scv-theme-icon, .scv-theme-button:focus-visible .scv-theme-icon { transform: rotate(-12deg) scale(1.08); }
116
+ .scv-control-tooltip { position: absolute; z-index: 12; top: calc(100% + 9px); right: -2px; width: max-content; max-width: 190px; padding: 6px 8px; color: #fff; font-family: "Segoe UI", Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 600; line-height: 1.25; letter-spacing: normal; text-align: left; white-space: nowrap; background: #101624; border: 1px solid #3a455f; border-radius: 6px; box-shadow: 0 7px 18px rgb(16 22 36 / 34%); opacity: 0; pointer-events: none; transform: translateY(-4px) scale(.97); transform-origin: top right; transition: opacity .16s ease, transform .16s ease; }
117
+ .scv-control-tooltip::before { position: absolute; right: 15px; bottom: calc(100% - 4px); width: 7px; height: 7px; background: #101624; border-top: 1px solid #3a455f; border-left: 1px solid #3a455f; content: ""; transform: rotate(45deg); }
118
+ .scv-theme-button:hover .scv-control-tooltip, .scv-theme-button:focus-visible .scv-control-tooltip { opacity: 1; transform: none; }
119
+ .scv-mode-switch { display: flex; min-width: calc(var(--scv-toolbar-button-size) * 3); overflow: visible; border-radius: 6px; }
120
+ .scv-root .scv-mode-switch .scv-mode-button { position: relative; flex: 0 0 var(--scv-toolbar-button-size); color: var(--scv-ink-soft); font-family: "Segoe UI", Arial, Helvetica, sans-serif; font-size: 8px; font-weight: 700; letter-spacing: .1em; line-height: .95; white-space: normal; border-radius: 0; }
121
+ .scv-root .scv-mode-switch .scv-mode-button + .scv-mode-button { margin-left: -1px; }
122
+ .scv-root .scv-mode-switch .scv-mode-button:first-child { border-radius: 6px 0 0 6px; }
123
+ .scv-root .scv-mode-switch .scv-mode-button:last-child { border-radius: 0 6px 6px 0; }
124
+ .scv-root .scv-mode-button .scv-mode-label { display: block; max-width: 100%; text-align: center; transform: scaleY(1.35); transform-origin: center; }
125
+ .scv-mode-tooltip { right: auto; left: 50%; transform: translate(-50%, -4px) scale(.97); transform-origin: top center; }
126
+ .scv-mode-tooltip::before { right: auto; left: 50%; transform: translateX(-50%) rotate(45deg); }
127
+ .scv-mode-button:hover .scv-mode-tooltip, .scv-mode-button:focus-visible .scv-mode-tooltip { opacity: 1; transform: translateX(-50%); }
128
+ .scv-root .scv-mode-button.active { color: #fff; background: var(--scv-primary); border-color: var(--scv-primary); }
129
+ .scv-root .scv-mode-button:not(.active):hover { color: var(--scv-primary-dark); background: #d8def5; border-color: #b4c0e5; }
130
+ .scv-root .scv-mode-button.active:hover { color: #fff; background: #293d87; border-color: #293d87; }
131
+ .scv-mobile-index-toggle, .scv-mobile-index-close { display: none; }
132
+ .scv-mobile-context { display: none; }
133
+ .scv-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
134
+ .scv-index-settings, .scv-index-settings-inner { display: contents; }
135
+ .scv-index-settings-toggle { display: none; }
136
+
137
+ .scv-search-results { position: absolute; z-index: 10; top: calc(100% + 1px); right: 0; left: 0; display: grid; max-height: min(60vh, 510px); overflow: auto; padding: 5px; background: #fff; border: 1px solid var(--scv-line); border-radius: 0 0 7px 7px; box-shadow: 0 12px 28px rgb(34 45 75 / 16%); }
138
+ .scv-search-result { display: grid; gap: 3px; padding: 9px 10px; color: var(--scv-ink); text-align: left; background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
139
+ .scv-search-result:hover, .scv-search-result:focus-visible { background: var(--scv-primary-soft); }
140
+ .scv-search-result span { color: var(--scv-primary); font-size: var(--scv-font-size-9); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
141
+ .scv-search-result strong { font-family: "Tinos", serif; font-size: var(--scv-font-size-11); font-weight: 700; line-height: 1.25; }
142
+ .scv-search-result small { display: -webkit-box; min-height: 2.7em; overflow: hidden; color: var(--scv-ink-soft); font-family: "Tinos", serif; font-size: var(--scv-font-size-12); line-height: 1.35; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
143
+ .scv-search-result mark { color: inherit; font-weight: 700; background: #fff0a8; border-radius: 2px; }
144
+ .scv-search-target { background: #fff4bd; box-shadow: 0 0 0 3px rgb(210 164 35 / 28%); border-radius: 4px; }
145
+ @media (prefers-reduced-motion: no-preference) {
146
+ .scv-search-target { animation: scv-search-target-pulse 2.1s ease-out; }
147
+ @keyframes scv-search-target-pulse { 0% { box-shadow: 0 0 0 0 rgb(210 164 35 / 58%); } 45% { box-shadow: 0 0 0 7px rgb(210 164 35 / 18%); } 100% { box-shadow: 0 0 0 3px rgb(210 164 35 / 28%); } }
148
+ }
149
+ .scv-search-status { margin: 5px; padding: 11px; color: var(--scv-ink-soft); font-size: var(--scv-font-size-11); }
150
+
151
+ .scv-index-grid { display: block; min-height: 0; }
152
+ .scv-index-cell { display: grid; min-width: 0; min-height: 0; grid-template-rows: 29px minmax(0, 1fr); height: 100%; border-bottom: 1px solid var(--scv-line); }
153
+ .scv-index-cell > header { display: flex; align-items: center; padding: 0 9px; color: #737b8a; font-size: var(--scv-font-size-8); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: #e4e7f0; border-bottom: 1px solid var(--scv-line); }
154
+ .scv-index-list { --scv-index-chapter-bg: #3f56a6; --scv-index-paragraph-bg: #a8bfea; --scv-index-subparagraph-bg: #c6d3ee; min-height: 0; padding: 3px; overflow: auto; scrollbar-color: #b8c0d2 transparent; scrollbar-width: thin; }
155
+ .scv-index-empty { margin: 12px 9px; color: #8991a0; font-size: var(--scv-font-size-10); line-height: 1.4; }
156
+ .scv-index-tree, .scv-index-children-list { margin: 0; padding: 0; list-style: none; }
157
+ .scv-index-tree-item { min-width: 0; }
158
+ .scv-index-list button { display: grid; width: calc(100% - 4px); min-height: 36px; margin: 2px 2px 2px 0; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 6px; padding: 5px 6px 5px calc(6px + var(--scv-index-indent, 0px)); color: #4f5867; text-align: left; background: transparent; border: 0; border-radius: 4px; cursor: pointer; transition: color .28s ease, background-color .32s ease, box-shadow .32s ease, transform .32s ease; }
159
+ .scv-index-list button:hover { background: #d9dde4; }
160
+ .scv-index-list button.active { color: var(--scv-index-active-ink); background: var(--scv-index-active-bg); box-shadow: 0 2px 7px var(--scv-index-active-shadow); transform: translateX(2px); }
161
+ .scv-index-list button.active:hover { filter: brightness(.88) saturate(1.04); }
162
+ .scv-index-list strong { overflow: hidden; max-width: 90px; color: var(--scv-primary-dark); font-family: "Tinos", serif; font-size: var(--scv-font-size-10); font-variant-numeric: lining-nums; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
163
+ .scv-index-list button.active strong, .scv-index-list button.active span { color: var(--scv-index-active-ink); }
164
+ .scv-index-list span { display: -webkit-box; overflow: hidden; font-family: "Tinos", serif; font-size: var(--scv-font-size-11); line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
165
+ .scv-index-level-0 { --scv-index-indent: 0px; --scv-index-active-bg: var(--scv-index-chapter-bg); --scv-index-active-ink: #fff; --scv-index-active-shadow: rgb(63 86 166 / 28%); font-size: var(--scv-font-size-11); }
166
+ .scv-index-level-1 { --scv-index-indent: 0px; --scv-index-active-bg: var(--scv-index-paragraph-bg); --scv-index-active-ink: #101624; --scv-index-active-shadow: rgb(117 133 191 / 28%); }
167
+ .scv-index-level-2 { --scv-index-indent: 0px; --scv-index-active-bg: var(--scv-index-subparagraph-bg); --scv-index-active-ink: #1c326b; --scv-index-active-shadow: rgb(174 184 218 / 24%); }
168
+ .scv-index-children-list { margin-left: 8px; padding-left: 8px; border-left: 2px solid #cbd4e8; }
169
+ .scv-index-paragraph-list { padding-left: 4px; border-left: 2px solid var(--scv-index-chapter-bg); }
170
+ .scv-index-subparagraph-list { margin-left: 8px; padding-left: 4px; border-left: 2px solid var(--scv-index-paragraph-bg); }
171
+ .scv-index-subparagraph-list .scv-index-entry { --scv-index-indent: 0px; }
172
+ .scv-index-children { display: grid; grid-template-rows: 0fr; visibility: hidden; opacity: 0; pointer-events: none; transition: grid-template-rows .52s cubic-bezier(.22, .8, .25, 1), opacity .36s ease, visibility 0s linear .52s; }
173
+ .scv-index-children.is-open { grid-template-rows: 1fr; visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
174
+ .scv-index-children-inner { min-height: 0; overflow: hidden; transform: translateY(-5px); transition: transform .42s cubic-bezier(.22, .8, .25, 1); }
175
+ .scv-index-children.is-open > .scv-index-children-inner { transform: none; }
176
+
177
+ .scv-text-pane { position: relative; overflow: auto; background: #fff; scrollbar-color: #b1b8c7 transparent; scrollbar-width: none; scroll-behavior: auto; }
178
+ .scv-text-pane::-webkit-scrollbar { width: 0; height: 0; }
179
+ .scv-text-flow { width: min(100%, 860px); min-height: 100%; margin: 0 auto; padding: 23px 58px 55vh; }
180
+ .scv-chunk-note { margin: 0 0 14px; padding-bottom: 9px; color: #8991a0; font-size: var(--scv-font-size-8); border-bottom: 1px solid #e2e5ed; }
181
+ .scv-unit, .scv-block, .formula-asset, .table-asset, .figure-asset { scroll-margin-top: 64px; }
182
+ .scv-unit h2 { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 7px; align-items: start; min-width: 0; margin: 5px 0 4px; color: var(--scv-ink); font-family: "Tinos", serif; font-size: var(--scv-font-size-16); font-weight: 700; line-height: 1.2; font-variant-numeric: lining-nums; }
183
+ .scv-unit h2 > .scv-unit-number { margin-right: 0; color: var(--scv-primary); font-family: "Tinos", serif; font-size: inherit; font-variant-numeric: lining-nums; font-weight: 700; white-space: nowrap; }
184
+ .scv-unit h2 > .scv-unit-title { min-width: 0; overflow-wrap: break-word; }
185
+ .scv-unit-depth-0 { margin-top: 46px; }
186
+ .scv-chapter-heading { display: grid !important; grid-template-columns: max-content minmax(0, 1fr); grid-template-rows: auto 1px auto; column-gap: 12px; row-gap: 11px; align-items: center; margin: 0 0 26px !important; color: var(--scv-primary-dark); font-size: var(--scv-font-size-24) !important; line-height: 1.12 !important; }
187
+ .scv-chapter-badge { display: inline-flex; grid-column: 1; grid-row: 1; align-items: baseline; gap: 7px; width: max-content; padding: 8px 12px 7px; color: var(--scv-primary-dark); background: #dcecff; border: 1px solid #c2d9f5; border-radius: 2px; font-family: "Tinos", serif; font-size: var(--scv-base-font-size); font-weight: 700; letter-spacing: .03em; line-height: 1; }
188
+ .scv-chapter-badge-label { color: var(--scv-primary-dark); font-size: .75em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
189
+ .scv-chapter-badge strong { color: var(--scv-primary-dark); font-size: 1.35em; font-weight: 700; }
190
+ .scv-chapter-rule { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 1px; background: #aabfe3; }
191
+ .scv-chapter-title { grid-column: 1 / -1; grid-row: 3; min-width: 0; color: var(--scv-primary-dark); font-family: "Tinos", serif; font-size: 1.12em; font-weight: 700; line-height: 1.08; overflow-wrap: break-word; }
192
+ .scv-unit-depth-1 h2 { margin-top: 30px; margin-bottom: 10px; color: var(--scv-primary-dark); font-size: var(--scv-font-size-18); line-height: 1.22; }
193
+ .scv-unit-depth-2 h2 { margin-top: 21px; margin-bottom: 8px; padding-left: 0; border-left: 0; color: var(--scv-primary); font-size: var(--scv-font-size-14); line-height: 1.28; }
194
+ .scv-unit-depth-3 h2, .scv-unit-depth-4 h2 { margin-top: 15px; color: #52617a; font-size: var(--scv-font-size-12-5); line-height: 1.32; }
195
+ .scv-unit:first-child:not(.scv-unit-depth-0) h2 { margin-top: 0; }
196
+ .scv-unit-blocks { display: block; }
197
+ .scv-block { display: block; }
198
+ .scv-block p { display: block; margin: 0 0 8px; color: #272c35; font-family: "Tinos", serif; font-size: var(--scv-base-font-size); line-height: 1.52; text-align: justify; overflow-wrap: break-word; }
199
+ .scv-root .scv-note-content { margin: 10px 0 14px; color: #272c35; font-family: "Tinos", serif; }
200
+ .scv-root .scv-note-content > p { margin: 7px 0; color: #272c35; font-size: var(--scv-font-size-11); line-height: 1.4; text-align: justify; }
201
+ .scv-root .scv-note-list-item { display: grid; grid-template-columns: 1.5em minmax(0, 1fr); column-gap: .25em; margin: 7px 0; color: #272c35; font-size: var(--scv-font-size-11); line-height: 1.4; text-align: justify; }
202
+ .scv-root .scv-note-list-item[data-list-level="1"] { margin-left: 1.5em; }
203
+ .scv-root .scv-note-list-marker { text-align: right; }
204
+ .scv-root .scv-note-list-description { min-width: 0; }
205
+ .scv-root .scv-note-rule { display: block; width: 33.333%; height: 1px; background: #202733; }
206
+ .scv-root .scv-cross-reference { display: inline; margin: 0; padding: 0 .08em; color: var(--scv-primary); font: inherit; font-weight: 700; line-height: inherit; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--scv-primary) 48%, transparent); text-decoration-thickness: 1px; text-underline-offset: .12em; background: transparent; border: 0; border-radius: 2px; cursor: pointer; }
207
+ .scv-root .scv-cross-reference:hover, .scv-root .scv-cross-reference:focus-visible { color: #fff; text-decoration: none; background: var(--scv-primary); }
208
+ .scv-root .scv-cross-reference[data-scv-reference-resolved="false"] { color: inherit; font-weight: inherit; text-decoration-style: dotted; cursor: help; }
209
+ .scv-root .scv-permalink-trigger { all: unset; box-sizing: border-box; color: inherit; font: inherit; line-height: inherit; text-align: inherit; text-decoration-line: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: .12em; overflow-wrap: inherit; cursor: pointer; transition: color .2s ease, text-decoration-color .2s ease; }
210
+ .scv-root .scv-permalink-trigger:hover { color: #0b57b7; text-decoration-color: rgb(11 87 183 / 45%); }
211
+ .scv-root .scv-permalink-trigger:focus-visible { color: #0b57b7; text-decoration-color: rgb(11 87 183 / 45%); border-radius: 2px; outline: 2px solid rgb(11 87 183 / 42%); outline-offset: 3px; }
212
+ .scv-root .scv-caption-permalink { max-width: 100%; }
213
+ .scv-permalink-notice { position: fixed; z-index: 110; width: max-content; max-width: min(280px, calc(100vw - 24px)); padding: 7px 10px; color: #fff; font-size: var(--scv-font-size-9); font-weight: 750; line-height: 1.25; text-align: center; background: #26354f; border: 1px solid rgb(255 255 255 / 16%); border-radius: 6px; box-shadow: 0 7px 22px rgb(20 31 52 / 24%); pointer-events: none; animation: scv-permalink-notice-in .16s ease-out; }
214
+ .scv-permalink-notice.is-above { transform: translate(-50%, calc(-100% - 8px)); }
215
+ .scv-permalink-notice.is-below { transform: translate(-50%, 8px); }
216
+ .scv-permalink-notice.is-error { background: #8e3939; }
217
+ @keyframes scv-permalink-notice-in { from { opacity: 0; } to { opacity: 1; } }
218
+ .scv-block-heading, .scv-block-list-item, .scv-block-formula-ref, .scv-block-table-ref, .scv-block-figure-ref { display: block; }
219
+ .scv-block-heading p { display: block; margin: 8px 0 4px; font-weight: 700; }
220
+ .scv-block-heading p:has(em > u) { font-weight: 400; }
221
+ .scv-block-heading p:has(> em:only-child) { font-weight: 400; }
222
+ .scv-block-list-item { padding-left: 11px; }
223
+ .scv-block-list-item p::before { margin-right: 5px; color: var(--scv-primary); content: "–"; font-weight: 700; }
224
+ .scv-block-list-item.list-item-with-bullet p::before { content: "•"; }
225
+ .scv-block-list-item.list-item-level-1 { padding-left: 22px; }
226
+ .scv-block-list-item.list-item-with-official-marker { padding-left: 0; }
227
+ .scv-block-list-item.list-item-with-official-marker p::before { content: none; }
228
+ .scv-block-list-item.list-item-without-marker { padding-left: 0; }
229
+ .scv-block-list-item.list-item-without-marker p::before { content: none; }
230
+ .scv-block-list-item.list-item-without-marker.list-item-level-1 { --scv-list-marker-width: 1.35em; padding-left: calc(2 * var(--scv-list-marker-width)); }
231
+ .scv-block-list-item.list-item-with-simple-dash,
232
+ .scv-block-list-item.list-item-with-alphabetic-marker {
233
+ --scv-list-marker-width: 1.35em;
234
+ padding-left: 0;
235
+ }
236
+ .scv-block-list-item.list-item-with-simple-dash.list-item-level-1,
237
+ .scv-block-list-item.list-item-with-alphabetic-marker.list-item-level-1 { padding-left: var(--scv-list-marker-width); }
238
+ .scv-block-list-item.list-item-with-simple-dash.list-item-level-2 { padding-left: calc(11px + var(--scv-list-marker-width)); }
239
+ .scv-block-list-item.list-item-with-simple-dash p {
240
+ position: relative;
241
+ padding-left: var(--scv-list-marker-width);
242
+ text-align: left;
243
+ }
244
+ .scv-block-list-item.list-item-with-alphabetic-marker p {
245
+ display: grid;
246
+ grid-template-columns: max-content minmax(0, 1fr);
247
+ column-gap: 0.35em;
248
+ padding-left: 0;
249
+ min-width: 0;
250
+ max-width: 100%;
251
+ box-sizing: border-box;
252
+ text-align: left;
253
+ text-indent: 0;
254
+ }
255
+ .scv-block-list-item.list-item-with-simple-dash p::before,
256
+ .scv-block-list-item.list-item-with-alphabetic-marker p::before {
257
+ position: absolute;
258
+ left: 0;
259
+ margin-right: 0;
260
+ }
261
+ .scv-block-list-item.list-item-with-simple-dash p .inline-math,
262
+ .scv-block-list-item.list-item-with-alphabetic-marker p .inline-math {
263
+ text-indent: 0;
264
+ }
265
+ .scv-block-list-item.list-item-with-simple-dash.list-item-with-official-marker p {
266
+ text-indent: calc(-1 * var(--scv-list-marker-width));
267
+ }
268
+ .scv-block-list-item.list-item-with-alphabetic-marker p .list-marker-label { white-space: nowrap; }
269
+ .scv-block-list-item.list-item-with-alphabetic-marker p .list-description { display: block; min-width: 0; overflow-wrap: break-word; }
270
+ .scv-block.block-indent-1 { margin-left: 2.5rem; }
271
+ .scv-label-list.block-indent-1 { margin-left: 2.5rem; }
272
+ .scv-label-list { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 0.35em; align-items: start; margin: 0 0 8px; }
273
+ .scv-label-list-row, .scv-label-list-content { display: contents; }
274
+ .scv-label-list-content > span { display: block; margin: 0 0 8px; color: #272c35; font-family: "Tinos", serif; font-size: var(--scv-base-font-size); line-height: 1.48; text-align: left; }
275
+ .scv-label-list-content > .leading-label-description, .scv-label-list-content > .leading-math-description { grid-column: 2; min-width: 0; text-align: justify; }
276
+ .scv-label-list-content > .leading-label, .scv-label-list-content > .leading-math-label { grid-column: 1; white-space: nowrap; }
277
+ .scv-label-list-content > .leading-label-empty { grid-column: 1; }
278
+ .scv-block-list-item.list-item-with-leading-symbol p, .scv-block.block-with-leading-label p { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 0.35em; padding-left: 0; }
279
+ .scv-block-list-item.list-item-with-leading-symbol p > .inline-math:first-child { display: inline-block; width: auto; margin-left: 0; margin-right: 0; vertical-align: top; }
280
+ .scv-block-list-item.list-item-with-leading-symbol .leading-math-label, .scv-block.block-with-leading-label .leading-label { white-space: nowrap; }
281
+ .scv-block-list-item.list-item-with-leading-symbol .leading-math-description, .scv-block.block-with-leading-label .leading-label-description { min-width: 0; }
282
+ .scv-block-list-item.list-item-with-trailing-siglum p { display: grid; grid-template-columns: auto minmax(0, 1fr) 96px; column-gap: 8px; }
283
+ .scv-block-list-item.list-item-with-trailing-siglum p strong { font-weight: 700; white-space: nowrap; }
284
+ .scv-block-list-item.list-item-with-trailing-symbol p { display: grid; grid-template-columns: 14px minmax(0, 1fr) max-content; column-gap: 4px; align-items: start; min-width: 0; max-width: 100%; padding-left: 0; }
285
+ .scv-block-list-item.list-item-with-trailing-symbol p > span:first-of-type { min-width: 0; }
286
+ .scv-block-list-item.list-item-with-trailing-symbol p > .inline-math,
287
+ .scv-block-list-item.list-item-with-trailing-symbol p > .inline-keep-punct { grid-column: 3; align-self: end; white-space: nowrap; }
288
+ .scv-block-list-item.list-item-with-trailing-symbol.list-item-without-marker p { grid-template-columns: minmax(0, 1fr) max-content; }
289
+ .scv-block-list-item.list-item-with-trailing-symbol.list-item-without-marker p > span:first-of-type { grid-column: 1; }
290
+ .scv-block-list-item.list-item-with-trailing-symbol.list-item-without-marker p > .inline-math,
291
+ .scv-block-list-item.list-item-with-trailing-symbol.list-item-without-marker p > .inline-keep-punct { grid-column: 2; }
292
+ .scv-block-list-item.list-item-with-catenary-label p { white-space: pre-wrap; tab-size: 18; text-align: left; }
293
+ .scv-block-list-item.list-item-with-alpha-ratio p { display: grid; grid-template-columns: minmax(0, 1fr) max-content; column-gap: 1em; align-items: baseline; min-width: 0; padding-left: var(--scv-list-marker-width, 1.35em); text-align: left; }
294
+ .scv-block-list-item.list-item-with-alpha-ratio p > span:not(.inline-math):not(.inline-keep-punct) { min-width: 0; }
295
+ .scv-block-list-item.list-item-with-alpha-ratio p > .inline-math, .scv-block-list-item.list-item-with-alpha-ratio p > .inline-keep-punct { grid-column: 2; align-self: baseline; justify-self: end; white-space: nowrap; }
296
+ .scv-block-list-item.list-item-with-alpha-ratio.list-item-with-official-marker p { padding-left: 0; }
297
+ .scv-root .inline-keep-punct { white-space: nowrap; }
298
+ .scv-related-unit, .scv-circular-fallback { margin: 14px 0 18px; padding: 13px 15px; background: var(--scv-circular); border: 1px solid #cfd7ee; border-left: 3px solid var(--scv-primary); border-radius: 4px; }
299
+ .scv-circular-fallback.scv-unit h2 { color: var(--scv-primary); }
300
+ .scv-related-unit > header h3 { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 7px; align-items: start; min-width: 0; margin: 6px 0; color: var(--scv-primary); font-family: "Tinos", serif; font-size: var(--scv-font-size-16); font-variant-numeric: lining-nums; font-weight: 700; line-height: 1.2; }
301
+ .scv-related-unit > header h3 > .scv-related-number { color: var(--scv-primary); font-family: "Tinos", serif; font-size: inherit; font-variant-numeric: lining-nums; font-weight: 700; white-space: nowrap; }
302
+ .scv-related-unit > header h3 > .scv-related-title { min-width: 0; overflow-wrap: break-word; }
303
+ .scv-end-note { margin-top: 34px; padding-top: 12px; color: #8991a0; font-family: "Tinos", serif; font-size: var(--scv-font-size-11); font-style: italic; border-top: 1px solid #e2e5ed; }
304
+
305
+ .scv-citation-actions { position: absolute; z-index: 8; top: 7px; right: 50px; display: flex; max-width: calc(100% - 72px); align-items: center; gap: 3px; padding: 4px; overflow-x: auto; color: var(--scv-ink-soft); background: rgb(255 255 255 / 94%); border: 1px solid var(--scv-line); border-radius: 6px; box-shadow: 0 3px 14px rgb(31 43 76 / 14%); backdrop-filter: blur(8px); scrollbar-width: thin; }
306
+ .scv-citation-context { overflow: hidden; max-width: 155px; padding: 0 5px; font-size: var(--scv-font-size-8); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
307
+ .scv-citation-actions button { min-height: 30px; padding: 4px 7px; color: var(--scv-primary-dark); font-size: var(--scv-font-size-8); font-weight: 800; white-space: nowrap; background: var(--scv-primary-soft); border: 0; border-radius: 4px; cursor: pointer; }
308
+ .scv-citation-actions button:hover, .scv-citation-actions button:focus-visible, .scv-citation-actions button.active { color: #fff; background: var(--scv-primary); }
309
+ .scv-backlink-panel { position: absolute; z-index: 9; top: 48px; right: 50px; width: min(390px, calc(100% - 70px)); max-height: min(68vh, 620px); overflow: auto; padding: 9px; color: var(--scv-ink); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 7px; box-shadow: 0 14px 36px rgb(31 43 76 / 22%); }
310
+ .scv-backlink-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 2px 3px 8px; border-bottom: 1px solid var(--scv-line); }
311
+ .scv-backlink-panel > header strong { font-family: "Tinos", serif; font-size: var(--scv-font-size-14); }
312
+ .scv-backlink-panel > header button { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; color: var(--scv-ink-soft); font-size: 20px; background: transparent; border: 0; border-radius: 4px; cursor: pointer; }
313
+ .scv-backlink-panel section { padding: 8px 2px 2px; }
314
+ .scv-backlink-panel h3 { margin: 0 0 5px; color: var(--scv-primary-dark); font-size: var(--scv-font-size-9); letter-spacing: .05em; text-transform: uppercase; }
315
+ .scv-backlink-panel p { margin: 4px 0 8px; color: var(--scv-ink-soft); font-size: var(--scv-font-size-10); }
316
+ .scv-backlink-panel ul { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
317
+ .scv-backlink-panel li button { display: grid; width: 100%; gap: 2px; padding: 6px 7px; color: var(--scv-ink); text-align: left; background: transparent; border: 0; border-radius: 4px; cursor: pointer; }
318
+ .scv-backlink-panel li button:hover, .scv-backlink-panel li button:focus-visible { background: var(--scv-primary-soft); }
319
+ .scv-backlink-panel li span { color: var(--scv-primary); font-size: var(--scv-font-size-8); font-weight: 800; }
320
+ .scv-backlink-panel li strong { overflow: hidden; font-family: "Tinos", serif; font-size: var(--scv-font-size-11); text-overflow: ellipsis; white-space: nowrap; }
321
+ .scv-reference-preview { position: fixed; z-index: 100; display: grid; width: min(320px, calc(100vw - 24px)); max-height: min(280px, calc(100dvh - 24px)); gap: 4px; padding: 10px 11px; overflow: auto; color: var(--scv-ink); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 7px; box-shadow: 0 12px 32px rgb(27 37 68 / 25%); pointer-events: none; }
322
+ .scv-reference-preview.is-interactive { pointer-events: auto; }
323
+ .scv-reference-preview > span { color: var(--scv-primary); font-size: var(--scv-font-size-8); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
324
+ .scv-reference-preview > strong { font-family: "Tinos", serif; font-size: var(--scv-font-size-14); line-height: 1.2; }
325
+ .scv-reference-preview > small { color: var(--scv-ink-soft); font-family: "Tinos", serif; font-size: var(--scv-font-size-11); line-height: 1.35; }
326
+ .scv-reference-preview-actions { display: flex; justify-content: flex-end; gap: 6px; margin-top: 6px; padding-top: 7px; border-top: 1px solid var(--scv-line); }
327
+ .scv-reference-preview-actions button { min-height: 36px; padding: 6px 9px; color: var(--scv-primary-dark); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 5px; cursor: pointer; }
328
+ .scv-reference-preview-actions button:last-child { color: var(--scv-panel); background: var(--scv-primary-dark); border-color: transparent; }
329
+ .scv-reference-preview-actions button:disabled { opacity: .5; cursor: default; }
330
+ .scv-content-notice { position: absolute; z-index: 7; top: 50px; left: 18px; max-width: min(520px, calc(100% - 90px)); margin: 0; padding: 7px 9px; color: #713f12; font-size: var(--scv-font-size-9); background: #fff7d6; border: 1px solid #e8cf7a; border-radius: 5px; box-shadow: 0 4px 14px rgb(31 43 76 / 12%); }
331
+
332
+ .scv-root .inline-math { display: inline-block; margin-inline: .035em; color: #202733; font-size: 1.04em; vertical-align: baseline; white-space: nowrap; }
333
+ .scv-root .inline-math .katex { font-size: 1em; }
334
+ .scv-root .formula-asset, .scv-root .table-asset, .scv-root .figure-asset { margin: 7px 0 9px; padding: 8px; overflow: hidden; background: #fff; border: 1px solid #dfe3ec; border-radius: 3px; box-shadow: none; }
335
+ .scv-root .scv-copyable-asset { position: relative; }
336
+ .scv-root .scv-copy-asset { position: absolute; z-index: 2; top: 7px; right: 7px; display: grid; width: 30px; height: 30px; place-items: center; padding: 0; color: var(--scv-primary-dark); background: rgb(255 255 255 / 94%); border: 1px solid #cbd5e6; border-radius: 8px; box-shadow: 0 4px 12px rgb(31 43 76 / 14%); cursor: pointer; opacity: 0; transform: translateY(-3px); transition: color .18s ease, opacity .18s ease, transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
337
+ .scv-root .scv-copy-asset svg { width: 18px; height: 18px; overflow: visible; fill: none; stroke: currentcolor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
338
+ .scv-root .scv-copyable-asset:hover .scv-copy-asset, .scv-root .scv-copyable-asset:focus-within .scv-copy-asset { opacity: 1; transform: translateY(0); }
339
+ .scv-root .scv-copy-asset:hover, .scv-root .scv-copy-asset:focus-visible { color: #fff; background: var(--scv-primary); border-color: var(--scv-primary); box-shadow: 0 6px 16px rgb(31 54 116 / 24%); transform: translateY(-1px); }
340
+ .scv-root .scv-copy-asset-copied { color: #fff !important; background: #3e8d68 !important; }
341
+ .scv-root .scv-copy-asset-error { color: #fff !important; background: #a64b43 !important; }
342
+ .scv-root .formula-asset { padding: 4px 8px 3px; }
343
+ .scv-root .formula-row { display: flex; align-items: center; gap: 14px; }
344
+ .scv-root .formula-scroll, .scv-root .table-scroll { max-width: 100%; overflow-x: auto; }
345
+ .scv-root .formula-scroll, .scv-root .table-scroll { overscroll-behavior-inline: contain; scrollbar-width: thin; }
346
+ .scv-root .formula-scroll { flex: 1 1 auto; min-width: 0; padding: 2px 0 4px; font-size: calc(var(--scv-base-font-size) * 0.9846); }
347
+ .scv-root .formula-scroll .katex-display { margin: .5em 0; }
348
+ .scv-root .formula-number { flex: 0 0 auto; margin-left: auto; color: var(--scv-primary-dark); font-family: "Tinos", serif; font-size: var(--scv-font-size-12); font-variant-numeric: lining-nums; white-space: nowrap; }
349
+ .scv-root .formula-asset figcaption, .scv-root .table-asset figcaption, .scv-root .figure-asset figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 5px; color: #687284; font-size: var(--scv-font-size-8); }
350
+ .scv-root .table-asset figcaption { display: block; margin-bottom: 7px; }
351
+ .scv-root .table-asset table { width: 100%; min-width: 520px; border-collapse: collapse; color: #2a3039; font-family: "Tinos", serif; font-size: var(--scv-base-font-size); line-height: 1.35; }
352
+ .scv-root .table-asset table .table-math .katex { font-size: 1em; }
353
+ .scv-root .table-asset figcaption { font-family: "Tinos", serif; font-size: var(--scv-font-size-12); line-height: 1.35; }
354
+ .scv-root .figure-asset figcaption { font-family: "Tinos", serif; font-size: var(--scv-font-size-12); line-height: 1.35; }
355
+ .scv-root .table-scroll-compact table { min-width: 100%; }
356
+ .scv-root .table-asset th, .scv-root .table-asset td { min-width: 0; padding: 4px 5px; overflow-wrap: anywhere; vertical-align: middle; border: 1px solid #c7ccda; }
357
+ .scv-root .table-asset .table-cell-strong { font-weight: 700; }
358
+ .scv-root .table-asset .table-cell-align-left { text-align: left; }
359
+ .scv-root .table-asset .table-cell-align-center { text-align: center; }
360
+ .scv-root .table-asset .table-cell-align-right { text-align: right; }
361
+ .scv-root .table-asset .table-cell-no-wrap { white-space: nowrap; }
362
+ .scv-root .table-asset .table-cell-vertical { width: 1.8em; min-width: 1.8em; writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); }
363
+ .scv-root .table-asset .table-cell-multiline { white-space: pre-line; }
364
+ .scv-root .table-asset .table-cell-subrow-label { padding-left: 1.1em; }
365
+ .scv-root .table-asset .table-cell-subrow-indent > span:nth-child(2) { display: block; padding-left: 1.1em; }
366
+ .scv-root .table-asset .table-cell-spacer { padding-inline: 0; background: transparent !important; border-color: transparent !important; }
367
+ .scv-root .table-asset-11-7-i table { min-width: 0; table-layout: fixed; }
368
+ .scv-root .table-asset .table-cell-content { display: flex; min-width: 0; flex-direction: column; align-items: inherit; gap: 4px; }
369
+ .scv-root .table-asset .table-independent-footer { margin-top: -1px; table-layout: fixed; }
370
+ .scv-root .table-asset .table-cell-image { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; }
371
+ .scv-root .table-asset-11-3-ib table, .scv-root .table-asset-11-3-ic table { min-width: 0; table-layout: fixed; }
372
+ .scv-root .table-asset-11-3-ib tbody td:nth-child(1):not([colspan]), .scv-root .table-asset-11-3-ic tbody td:nth-child(1):not([colspan]) { border-right: 0; }
373
+ .scv-root .table-asset-11-3-ib tbody td:nth-child(2), .scv-root .table-asset-11-3-ic tbody td:nth-child(2) { border-left: 0; }
374
+ .scv-root .table-asset-11-3-viii table { min-width: 0; table-layout: fixed; }
375
+ .scv-root .table-asset-11-3-viii tbody td:nth-child(1) { border-right: 0; }
376
+ .scv-root .table-asset-11-3-viii tbody td:nth-child(2) { border-left: 0; }
377
+ .scv-root .table-asset-11-3-xii table { min-width: 0; table-layout: fixed; }
378
+ .scv-root .table-asset-11-3-xii tbody tr:nth-child(-n+4) td, .scv-root .table-asset-11-3-xii tbody tr:nth-child(6) td { border-bottom: 0; }
379
+ .scv-root .table-asset-11-3-xii tbody tr:nth-child(n+2):nth-child(-n+5) td, .scv-root .table-asset-11-3-xii tbody tr:nth-child(7) td { border-top: 0; }
380
+ .scv-root .table-asset-4-3-iii tbody td:first-child .table-cell-content { flex-direction: column-reverse; }
381
+ .scv-root .table-asset-3-5-iv table { table-layout: fixed; }
382
+ .scv-root .table-asset-3-5-iv th:first-child, .scv-root .table-asset-3-5-iv td:first-child { width: 6.25em; min-width: 6.25em; white-space: nowrap; }
383
+ .scv-root .table-asset th { color: #fff; font-weight: 700; text-align: center; background: var(--scv-primary-dark); }
384
+ .scv-root .table-asset-c8-5-ii thead tr:first-child th:first-child { border-right: 2px solid #8e97ad; }
385
+ .scv-root .table-asset th .katex { color: #fff; }
386
+ .scv-root .table-asset td { background: #fbfcff; }
387
+ .scv-root .table-asset tbody tr:nth-child(even) td { background: #f1f3f9; }
388
+ .scv-root .table-asset .table-cell-shade-gray { background: #d9d9d9 !important; }
389
+ .scv-root .table-asset-c4-1-iv thead tr:nth-child(2) th:nth-child(n + 4) { font-size: var(--scv-font-size-12-5); }
390
+ .scv-root .table-asset-7-8-ii thead tr:first-child th:nth-child(n + 2) { font-size: var(--scv-font-size-12-5); }
391
+ .scv-root .table-asset-7-5-i th, .scv-root .table-asset-7-5-i td { text-align: center; }
392
+ .scv-root .table-asset-c4-2-x th, .scv-root .table-asset-c4-2-x td,
393
+ .scv-root .table-asset-c4-2-xi th, .scv-root .table-asset-c4-2-xi td { text-align: center; }
394
+ .scv-root .table-asset-c4-2-xi .table-math .katex { font-size: 1.1em; }
395
+ .scv-root .table-asset-4-2-iv .table-math .katex { font-size: 1.1em; }
396
+ .scv-root .table-asset-4-2-iv th:first-child, .scv-root .table-asset-4-2-iv td:first-child { min-width: 9.4em; }
397
+ .scv-root .table-asset-4-2-x tbody tr:nth-child(2) td:nth-child(2) { padding-block: 7px; }
398
+ .scv-root .table-asset-4-2-x tbody tr:nth-child(2) td:nth-child(2) .table-math .katex { font-size: 1.2em; }
399
+ .scv-root .table-asset-c4-2-vi .table-cell-image { max-width: 72%; }
400
+ .scv-root .table-asset-c4-2-vi .table-math { white-space: nowrap; }
401
+ .scv-root .table-asset-c4-2-vi .table-math .katex { font-size: .82em; }
402
+ .scv-root .table-asset-c4-2-vii tbody tr:nth-child(3) td { padding-block: 9px; }
403
+ .scv-root .table-asset-c4-2-vii tbody tr:nth-child(3) .table-math .katex { font-size: 1.18em; }
404
+ .scv-root .table-asset-c4-2-xi table { table-layout: fixed; min-width: 0; }
405
+ .scv-root .table-asset-c4-2-xi th:nth-child(1), .scv-root .table-asset-c4-2-xi td:nth-child(1) { width: 12%; }
406
+ .scv-root .table-asset-c4-2-xi th:nth-child(2), .scv-root .table-asset-c4-2-xi td:nth-child(2) { width: 22%; }
407
+ .scv-root .table-asset-c4-2-xi th:nth-child(3), .scv-root .table-asset-c4-2-xi td:nth-child(3) { width: 30%; }
408
+ .scv-root .table-asset-c4-2-xi th:nth-child(4), .scv-root .table-asset-c4-2-xi td:nth-child(4) { width: 36%; }
409
+ .scv-root .table-asset-c4-2-xi tbody td:nth-child(4) .table-math { white-space: nowrap; }
410
+ .scv-root .table-asset-c4-2-xi tbody td:nth-child(4) .table-math .katex { font-size: .86em; }
411
+ .scv-root .table-asset-5-1-vii table { min-width: 0; table-layout: fixed; }
412
+ .scv-root .table-asset-5-1-vii th:nth-child(1), .scv-root .table-asset-5-1-vii td:nth-child(1) { width: 26%; }
413
+ .scv-root .table-asset-5-1-vii th:nth-child(2), .scv-root .table-asset-5-1-vii td:nth-child(2) { width: 24%; }
414
+ .scv-root .table-asset-5-1-vii th:nth-child(3), .scv-root .table-asset-5-1-vii td:nth-child(3) { width: 30%; }
415
+ .scv-root .table-asset-5-1-vii th:nth-child(4), .scv-root .table-asset-5-1-vii td:nth-child(4) { width: 20%; }
416
+ .scv-root .table-asset-5-1-iv table { min-width: 0; table-layout: fixed; }
417
+ .scv-root .table-asset-5-1-vi table { min-width: 0; table-layout: fixed; }
418
+ .scv-root .table-asset-5-1-x table { min-width: 0; table-layout: fixed; }
419
+ .scv-root .table-asset-5-1-x th:first-child, .scv-root .table-asset-5-1-x td:first-child { width: 57%; }
420
+ .scv-root .table-asset-5-1-x th:nth-child(2), .scv-root .table-asset-5-1-x td:nth-child(2) { width: 43%; }
421
+ .scv-root .table-asset-c5-delta-t0 table { min-width: 0; table-layout: fixed; }
422
+ .scv-root .table-asset-5-2-ii-b table,
423
+ .scv-root .table-asset-5-2-iii table,
424
+ .scv-root .table-asset-5-2-iv table,
425
+ .scv-root .table-asset-5-2-v table,
426
+ .scv-root .table-asset-5-2-vi table,
427
+ .scv-root .table-asset-5-2-vii table,
428
+ .scv-root .table-asset-5-2-viii table { table-layout: fixed; }
429
+ .scv-root .table-asset-5-2-ii-b table { min-width: 0; }
430
+ .scv-root .table-asset-5-2-ii-b th:nth-child(1), .scv-root .table-asset-5-2-ii-b td:nth-child(1) { width: 7%; }
431
+ .scv-root .table-asset-5-2-ii-b th:nth-child(2), .scv-root .table-asset-5-2-ii-b td:nth-child(2) { width: 9%; }
432
+ .scv-root .table-asset-5-2-ii-b th:nth-child(3), .scv-root .table-asset-5-2-ii-b td:nth-child(3) { width: 8%; }
433
+ .scv-root .table-asset-5-2-ii-b th:nth-child(4), .scv-root .table-asset-5-2-ii-b td:nth-child(4) { width: 8%; }
434
+ .scv-root .table-asset-5-2-ii-b th:nth-child(5), .scv-root .table-asset-5-2-ii-b td:nth-child(5) { width: 8%; }
435
+ .scv-root .table-asset-5-2-ii-b th:nth-child(6), .scv-root .table-asset-5-2-ii-b td:nth-child(6) { width: 32%; }
436
+ .scv-root .table-asset-5-2-ii-b th:nth-child(7), .scv-root .table-asset-5-2-ii-b td:nth-child(7) { width: 28%; }
437
+ .scv-root .table-asset-5-2-iii table, .scv-root .table-asset-5-2-iv table,
438
+ .scv-root .table-asset-5-2-v table, .scv-root .table-asset-5-2-vi table,
439
+ .scv-root .table-asset-5-2-vii table, .scv-root .table-asset-5-2-viii table { min-width: 0; }
440
+ .scv-root .table-asset-4-2-viii table { min-width: 780px; table-layout: fixed; }
441
+ .scv-root .table-asset-c4-2-xii-a table,
442
+ .scv-root .table-asset-c4-2-xii-b table,
443
+ .scv-root .table-asset-c4-2-xii-c table,
444
+ .scv-root .table-asset-c4-2-xii-d table,
445
+ .scv-root .table-asset-c4-2-xiii table,
446
+ .scv-root .table-asset-c4-2-xiv table,
447
+ .scv-root .table-asset-c4-2-xv table,
448
+ .scv-root .table-asset-c4-2-xvi-a table,
449
+ .scv-root .table-asset-c4-2-xvi-b table,
450
+ .scv-root .table-asset-c4-2-xvii table { min-width: 920px; table-layout: fixed; }
451
+ .scv-root .table-asset-c4-2-xix th, .scv-root .table-asset-c4-2-xix td,
452
+ .scv-root .table-asset-c4-2-xx th, .scv-root .table-asset-c4-2-xx td { text-align: center; }
453
+ .scv-root .table-notes { display: block; margin: 8px 0 0; padding: 0; color: #6d7583; font-family: "Tinos", serif; font-size: var(--scv-font-size-12); line-height: 1.4; }
454
+ .scv-root .table-notes > .scv-note-rule { margin: 7px 0; }
455
+ .scv-root .table-notes > p { margin: 0 0 8px; color: #6d7583; font-family: "Tinos", serif; font-size: var(--scv-font-size-12); line-height: 1.4; text-align: justify; }
456
+ .scv-root .table-asset-c7-3-i .table-scroll { overflow-x: auto; }
457
+ .scv-root .table-asset-c7-3-i table { min-width: 1180px; table-layout: fixed; }
458
+ .scv-root .table-notes > p:last-child { margin-bottom: 0; }
459
+ .scv-root .figure-asset img { display: block; width: min(100%, 760px); height: auto; max-width: 100%; max-height: min(600px, 70vh); margin-inline: auto; object-fit: contain; }
460
+ .scv-root .figure-asset-c7-2-4 { overflow: visible; }
461
+ .scv-root .figure-asset-c3-3-28 img { width: min(50%, 380px); }
462
+ .scv-root .figure-asset figcaption { padding-top: 7px; border-top: 1px solid #dfe3ec; }
463
+ .scv-root .asset-missing { padding: 12px; color: #8b342a !important; font-family: ui-sans-serif, sans-serif !important; font-size: var(--scv-font-size-11) !important; background: #fff2ef; }
464
+
465
+ .scv-loading, .scv-fatal { display: grid; min-height: 100%; place-content: center; gap: 10px; padding: 28px; color: var(--scv-ink-soft); text-align: center; }
466
+ .scv-loading > span { width: 24px; height: 24px; justify-self: center; border: 2px solid #c6ccda; border-top-color: var(--scv-primary); border-radius: 50%; animation: scv-spin .8s linear infinite; }
467
+ .scv-loading strong, .scv-fatal strong { font-family: "Tinos", serif; font-size: var(--scv-font-size-14); font-weight: 700; }
468
+ .scv-fatal span { max-width: 300px; font-size: var(--scv-font-size-10); line-height: 1.5; }
469
+ .scv-loading-rows { display: grid; gap: 9px; padding: 12px; }
470
+ .scv-loading-rows span { height: 28px; background: linear-gradient(90deg, #e3e6ee, #f8f9fc, #e3e6ee); background-size: 200% 100%; border-radius: 4px; animation: scv-shimmer 1.8s infinite linear; }
471
+
472
+ .scv-pdf-panel { height: 100%; overflow: auto; color: #edf0f7; background: #30343f; scrollbar-color: #777f91 #282c35; scrollbar-width: thin; }
473
+ .scv-pdf-status { position: sticky; z-index: 4; top: 8px; display: flex; width: max-content; max-width: calc(100% - 28px); align-items: center; gap: 9px; margin: 8px auto -33px; padding: 6px 8px; color: #eef0f7; font-size: var(--scv-font-size-8); background: rgb(22 26 35 / 90%); border: 1px solid rgb(255 255 255 / 18%); border-radius: 4px; box-shadow: 0 2px 10px rgb(0 0 0 / 28%); backdrop-filter: blur(8px); }
474
+ .scv-pdf-status strong { font-family: "Tinos", serif; font-size: var(--scv-font-size-11); }
475
+ .scv-pdf-status span { color: #c4cad8; font-variant-numeric: lining-nums; }
476
+ .scv-pdf-status a { color: #b9c5fb; text-decoration: none; }
477
+ .scv-pdf-pages { display: grid; gap: 12px; padding: 46px 14px 55vh; }
478
+ .scv-pdf-page { position: relative; width: 100%; min-height: 240px; aspect-ratio: .707 / 1; overflow: hidden; background: #fff; box-shadow: 0 2px 9px rgb(0 0 0 / 38%); }
479
+ .scv-pdf-page > span { position: absolute; z-index: 2; top: 5px; right: 6px; padding: 2px 4px; color: #727772; font-size: var(--scv-font-size-7); background: rgb(255 255 255 / 78%); border-radius: 2px; }
480
+ .scv-pdf-page canvas { display: block; width: 100% !important; height: auto !important; background: #fff; }
481
+ .scv-pdf-consent { display: grid; min-height: 100%; place-content: center; gap: 10px; padding: 34px; text-align: center; }
482
+ .scv-pdf-consent strong { font-family: "Tinos", serif; font-size: var(--scv-font-size-19); }
483
+ .scv-pdf-consent p { max-width: 310px; margin: 0; color: #c6cbd7; font-size: var(--scv-font-size-10); line-height: 1.55; }
484
+ .scv-pdf-consent button { justify-self: center; padding: 9px 13px; color: #fff; font-size: var(--scv-font-size-10); font-weight: 800; background: var(--scv-primary); border: 0; border-radius: 4px; cursor: pointer; }
485
+ .scv-pdf-error { display: grid; min-height: 100%; place-content: center; gap: 8px; padding: 34px; text-align: center; }
486
+ .scv-pdf-error strong { font-family: "Tinos", serif; font-size: var(--scv-font-size-15); }
487
+ .scv-pdf-error span { color: #c6cbd7; font-size: var(--scv-font-size-10); }
488
+
489
+ .scv-scroll-rail { --scv-scrubber-ratio: 0; position: absolute; z-index: 8; top: 10px; right: 0; bottom: 10px; width: 44px; pointer-events: auto; }
490
+ .scv-scroll-track { position: absolute; isolation: isolate; inset: 0; cursor: pointer; touch-action: none; }
491
+ .scv-scroll-track::before { position: absolute; z-index: 0; top: 0; right: 6px; bottom: 0; width: 12px; content: ""; background: #edf0f5; border: 1px solid #dce1ea; border-radius: 999px; box-shadow: inset 0 1px 2px rgb(49 59 81 / 7%); opacity: .96; transition: opacity .18s ease; }
492
+ .scv-scroll-track::after { position: absolute; z-index: 0; top: 4px; right: 6px; bottom: 4px; width: 12px; content: ""; background-image: radial-gradient(circle at center, #858b95 0 1.25px, transparent 2px); background-position: center 0; background-repeat: repeat-y; background-size: 12px 24px; border-radius: 999px; opacity: .82; pointer-events: none; transition: opacity .18s ease; }
493
+ .scv-scroll-thumb { position: absolute; z-index: 2; top: calc(var(--scv-scrubber-ratio) * (100% - 48px)); right: 0; display: block; width: 44px; height: 48px; padding: 0; background: transparent; border: 0; border-radius: 999px; cursor: grab; pointer-events: none; }
494
+ .scv-scroll-thumb::before { position: absolute; top: 7px; right: 7px; width: 10px; height: 34px; content: ""; background: var(--scv-primary); border-radius: 5px; box-shadow: 0 2px 7px rgb(52 66 110 / 30%); opacity: 1; transition: opacity .18s ease, transform .16s ease, box-shadow .16s ease; }
495
+ .scv-scroll-thumb:hover::before, .scv-scroll-thumb:focus-visible::before, .scv-scroll-rail.is-dragging .scv-scroll-thumb::before { box-shadow: 0 3px 10px rgb(52 66 110 / 38%); opacity: 1; transform: scaleX(1.12); }
496
+ .scv-scroll-thumb:focus-visible { outline: none; }
497
+ .scv-scroll-thumb:focus-visible::before { box-shadow: 0 0 0 3px color-mix(in srgb, var(--scv-primary) 52%, transparent), 0 3px 10px rgb(52 66 110 / 38%); }
498
+ .scv-scroll-thumb:active { cursor: grabbing; }
499
+ .scv-scroll-rail.is-dragging .scv-scroll-track { cursor: grabbing; }
500
+ .scv-scroll-overlay { position: absolute; top: clamp(36px, calc(var(--scv-scrubber-ratio) * 100%), calc(100% - 36px)); right: 48px; display: grid; width: max-content; max-width: min(280px, calc(100vw - 80px)); gap: 2px; padding: 10px 12px; color: #fff; text-align: right; background: rgb(36 47 78 / 96%); border: 1px solid rgb(255 255 255 / 16%); border-radius: 8px; box-shadow: 0 8px 24px rgb(26 36 67 / 28%); pointer-events: none; transform: translateY(-50%); }
501
+ .scv-scroll-overlay strong { font-size: var(--scv-font-size-15); line-height: 1.1; white-space: nowrap; }
502
+ .scv-scroll-overlay span { overflow: hidden; font-family: "Tinos", serif; font-size: var(--scv-font-size-10); line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
503
+ .scv-scroll-rail.is-idle .scv-scroll-track::before, .scv-scroll-rail.is-idle .scv-scroll-track::after, .scv-scroll-rail.is-idle .scv-scroll-thumb::before { opacity: 0; }
504
+
505
+ .scv-annotation-scrubber-group { position: absolute; z-index: 4; top: calc(var(--scv-annotation-ratio) * (100% - 36px)); right: 0; width: 44px; height: 36px; pointer-events: none; }
506
+ .scv-annotation-scrubber-marker { position: absolute; right: 0; display: grid; width: 36px; height: 36px; place-items: center; padding: 0; color: #fff; line-height: 1; background: transparent; border: 0; cursor: pointer; pointer-events: auto; filter: drop-shadow(0 1px 2px rgb(0 0 0 / 35%)); }
507
+ .scv-annotation-scrubber-marker:not(.is-cluster) > span { width: 17px; height: 17px; border: solid currentcolor; border-width: 0 5px 5px 0; }
508
+ .scv-annotation-scrubber-marker.is-bookmark { right: 12px; color: var(--scv-bookmark); }
509
+ .scv-annotation-scrubber-marker.is-bookmark > span { transform: rotate(135deg); }
510
+ .scv-annotation-scrubber-marker.is-note { right: -2px; color: var(--scv-note); }
511
+ .scv-annotation-scrubber-marker.is-note > span { transform: rotate(-45deg); }
512
+ .scv-annotation-scrubber-marker:hover > span, .scv-annotation-scrubber-marker:focus-visible > span { filter: brightness(.82); transform-origin: center; }
513
+ .scv-annotation-scrubber-marker:focus-visible { border-radius: 6px; outline: 2px solid var(--scv-primary); outline-offset: -3px; }
514
+ .scv-annotation-scrubber-marker.is-cluster { right: 2px; width: 32px; height: 24px; color: #fff; font-size: 10px; background: var(--scv-primary-dark); border: 2px solid var(--scv-panel); border-radius: 999px; }
515
+ .scv-annotation-cluster-popover { position: absolute; z-index: 8; top: 50%; right: 44px; display: grid; width: min(240px, calc(100vw - 64px)); max-height: 220px; overflow: auto; padding: 5px; background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 8px; box-shadow: 0 9px 28px rgb(0 0 0 / 22%); pointer-events: auto; transform: translateY(-50%); }
516
+ .scv-annotation-cluster-popover button { display: grid; grid-template-columns: 20px minmax(0, 1fr); min-height: 38px; align-items: center; gap: 5px; padding: 6px 8px; color: var(--scv-ink); text-align: left; background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
517
+ .scv-annotation-cluster-popover button:hover { background: var(--scv-primary-soft); }
518
+ .scv-annotation-cluster-popover b { color: var(--scv-note); font-size: 20px; }
519
+
520
+ [data-scv-citation-target]:focus-visible { outline: 2px solid var(--scv-primary); outline-offset: 3px; }
521
+ .scv-unit, .scv-related-unit, .scv-block, .scv-label-list-row { position: relative; }
522
+ .scv-note-margin-marker { position: absolute; z-index: 3; top: 0; right: -34px; display: grid; width: 28px; height: 28px; place-items: center; padding: 0; color: #6c4b00; background: #ffd65c; border: 1px solid #cf9b16; border-radius: 4px 4px 4px 1px; box-shadow: 0 2px 5px rgb(70 50 0 / 18%); cursor: pointer; }
523
+ .scv-note-margin-marker > span { width: 13px; height: 14px; border: 1.5px solid currentcolor; border-radius: 1px; }
524
+ .scv-note-margin-marker > span::after { display: block; width: 6px; height: 4px; margin: 7px 0 0 5px; content: ""; border-top: 1.5px solid currentcolor; transform: rotate(-45deg); }
525
+ .scv-note-margin-marker b { position: absolute; top: -7px; right: -5px; min-width: 16px; height: 16px; padding: 0 3px; color: #fff; font-size: 9px; line-height: 16px; background: var(--scv-primary-dark); border-radius: 999px; }
526
+
527
+ .scv-annotation-menu { position: fixed; z-index: 90; display: grid; min-width: 210px; padding: 5px; color: var(--scv-ink); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 8px; box-shadow: 0 12px 34px rgb(0 0 0 / 24%); }
528
+ .scv-annotation-menu button { min-height: 42px; padding: 8px 11px; color: inherit; text-align: left; background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
529
+ .scv-annotation-menu button:hover, .scv-annotation-menu button:focus-visible { background: var(--scv-primary-soft); }
530
+ .scv-annotation-editor { position: fixed; z-index: 91; top: clamp(12px, var(--scv-annotation-editor-y), calc(100dvh - 330px)); left: clamp(12px, var(--scv-annotation-editor-x), calc(100vw - 380px)); width: min(360px, calc(100vw - 24px)); color: var(--scv-ink); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 10px; box-shadow: 0 16px 42px rgb(0 0 0 / 28%); }
531
+ .scv-annotation-editor form { display: grid; gap: 9px; padding: 12px; }
532
+ .scv-annotation-editor header { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
533
+ .scv-annotation-editor header > div { display: grid; min-width: 0; gap: 2px; }
534
+ .scv-annotation-editor header span { overflow: hidden; color: var(--scv-ink-soft); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
535
+ .scv-annotation-editor label { color: var(--scv-ink-soft); font-size: 12px; font-weight: 700; }
536
+ .scv-annotation-editor input, .scv-annotation-editor textarea { width: 100%; padding: 9px 10px; resize: vertical; color: var(--scv-ink); background: var(--scv-paper); border: 1px solid var(--scv-line); border-radius: 6px; }
537
+ .scv-annotation-editor footer { display: flex; align-items: center; gap: 6px; }
538
+ .scv-annotation-editor footer span { flex: 1; }
539
+ .scv-annotation-editor button, .scv-annotations-panel button, .scv-annotations-panel select { min-height: 38px; padding: 7px 10px; color: var(--scv-primary-dark); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 6px; cursor: pointer; }
540
+ .scv-annotation-editor button.is-primary { color: #fff; background: var(--scv-primary); border-color: var(--scv-primary); }
541
+ .scv-annotation-editor button.is-danger { color: var(--scv-danger); }
542
+ .scv-annotation-editor button:disabled { opacity: .55; cursor: default; }
543
+ .scv-annotation-editor button.scv-annotation-close { width: 36px; min-width: 36px; min-height: 36px; padding: 0; font-size: 22px; line-height: 1; }
544
+ .scv-annotation-error { margin: 0; color: var(--scv-danger); font-size: 12px; line-height: 1.4; }
545
+
546
+ .scv-annotations-panel { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); height: 100%; min-height: 0; color: var(--scv-ink); background: var(--scv-panel); }
547
+ .scv-annotations-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 10px 10px 0; }
548
+ .scv-annotations-tabs button[aria-selected="true"] { color: #fff; background: var(--scv-primary); border-color: var(--scv-primary); }
549
+ .scv-annotations-controls { display: grid; gap: 8px; padding: 10px; border-bottom: 1px solid var(--scv-line); }
550
+ .scv-annotations-controls label { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 8px; color: var(--scv-ink-soft); font-size: 12px; }
551
+ .scv-annotations-controls select { color: var(--scv-ink); background: var(--scv-paper); }
552
+ .scv-annotations-controls .scv-annotations-filter { justify-content: start; }
553
+ .scv-annotations-controls .scv-annotations-filter input { width: 18px; height: 18px; }
554
+ .scv-annotations-controls > div { display: flex; gap: 6px; }
555
+ .scv-annotation-notice { margin: 8px 10px 0; padding: 7px 9px; color: var(--scv-primary-dark); font-size: 12px; background: var(--scv-primary-soft); border-radius: 5px; }
556
+ .scv-annotations-list { min-height: 0; overflow: auto; padding: 10px; }
557
+ .scv-annotations-list > p { color: var(--scv-ink-soft); font-size: 13px; }
558
+ .scv-annotations-list ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
559
+ .scv-annotations-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; padding: 6px; background: var(--scv-paper); border: 1px solid var(--scv-line); border-radius: 8px; }
560
+ .scv-annotations-panel button.scv-annotation-main { display: grid; min-width: 0; gap: 2px; padding: 5px; color: var(--scv-ink); text-align: left; background: transparent; border: 0; }
561
+ .scv-annotation-main span, .scv-annotation-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
562
+ .scv-annotation-main span { color: var(--scv-ink-soft); font-family: "Tinos", serif; }
563
+ .scv-annotation-main small { color: var(--scv-ink); }
564
+ .scv-annotation-main time { color: var(--scv-ink-soft); font-size: 10px; }
565
+ .scv-annotations-list li > div { display: grid; align-content: start; gap: 4px; }
566
+ .scv-annotations-list li > div button { min-height: 32px; padding: 4px 7px; font-size: 11px; }
567
+
568
+ .scv-root.scv-dark {
569
+ color-scheme: dark;
570
+ --scv-primary: #8ea7ff;
571
+ --scv-primary-dark: #c4d0ff;
572
+ --scv-primary-soft: #29365e;
573
+ --scv-ink: #edf1fb;
574
+ --scv-ink-soft: #aeb8ca;
575
+ --scv-paper: #10141e;
576
+ --scv-panel: #1b2130;
577
+ --scv-line: #354057;
578
+ --scv-danger: #ff707a;
579
+ --scv-circular: #20283b;
580
+ --scv-amber: #f0c976;
581
+ --scv-amber-soft: #49371f;
582
+ --scv-bookmark: #ff6973;
583
+ --scv-note: #ffd15c;
584
+ }
585
+ .scv-root ::selection { color: var(--scv-panel); background: var(--scv-primary); }
586
+ .scv-root.scv-dark .scv-index-pane { background: #151a25; }
587
+ .scv-root.scv-dark .scv-search-form { background: #151b29; }
588
+ .scv-root.scv-dark .scv-search-form input::placeholder { color: #7f8ba3; }
589
+ .scv-root.scv-dark .scv-search-icon { color: #9aa6c2; }
590
+ .scv-root.scv-dark .scv-search-form kbd { color: #9ba6bb; }
591
+ .scv-root.scv-dark .scv-theme-button, .scv-root.scv-dark .scv-mode-button { border-color: #46516e; }
592
+ .scv-root.scv-dark .scv-theme-button { color: #f2c66f; }
593
+ .scv-root.scv-dark .scv-theme-button:hover, .scv-root.scv-dark .scv-theme-button:focus-visible { color: #f2c66f; background: #354574; border-color: #5a6a96; box-shadow: 0 5px 14px rgb(0 0 0 / 24%); }
594
+ .scv-root.scv-dark .scv-mode-button:not(.active):hover { color: #e5eaff; background: #354574; border-color: #5a6a96; }
595
+ .scv-root.scv-dark .scv-mode-button.active:hover { color: #fff; background: #6278c5; border-color: #6278c5; }
596
+ .scv-root.scv-dark .scv-search-results { background: #1d2432; box-shadow: 0 12px 28px rgb(0 0 0 / 35%); }
597
+ .scv-root.scv-dark .scv-index-cell > header { color: #a7b1c5; background: #202637; }
598
+ .scv-root.scv-dark .scv-index-list { --scv-index-chapter-bg: #526bbb; --scv-index-paragraph-bg: #8a9cd7; --scv-index-subparagraph-bg: #bbc5e8; }
599
+ .scv-root.scv-dark .scv-index-list button { color: #bbc5d7; }
600
+ .scv-root.scv-dark .scv-index-list button:hover { background: rgb(255 255 255 / 7%); }
601
+ .scv-root.scv-dark .scv-index-list button.active:hover { background: var(--scv-index-active-bg); filter: brightness(.82) saturate(1.08); }
602
+ .scv-root.scv-dark .scv-index-level-0 { --scv-index-active-bg: var(--scv-index-chapter-bg); --scv-index-active-ink: #fff; --scv-index-active-shadow: rgb(82 107 187 / 34%); }
603
+ .scv-root.scv-dark .scv-index-level-1 { --scv-index-active-bg: var(--scv-index-paragraph-bg); --scv-index-active-ink: #101624; --scv-index-active-shadow: rgb(138 156 215 / 30%); }
604
+ .scv-root.scv-dark .scv-index-level-2 { --scv-index-active-bg: var(--scv-index-subparagraph-bg); --scv-index-active-ink: #101624; --scv-index-active-shadow: rgb(187 197 232 / 26%); }
605
+ .scv-root.scv-dark .scv-index-children-list { border-color: #536384; }
606
+ .scv-root.scv-dark .scv-index-paragraph-list { border-left-color: var(--scv-index-chapter-bg); }
607
+ .scv-root.scv-dark .scv-index-subparagraph-list { border-left-color: var(--scv-index-paragraph-bg); }
608
+ .scv-root.scv-dark .scv-search-result mark { background: #766224; }
609
+ .scv-root.scv-dark .scv-search-target { background: #514821; box-shadow: 0 0 0 3px rgb(235 196 78 / 34%); }
610
+ .scv-root.scv-dark .scv-text-pane { background: #131824; scrollbar-color: #596684 transparent; }
611
+ .scv-root.scv-dark .scv-chunk-note, .scv-root.scv-dark .scv-end-note { color: #8e9bb2; border-color: #313a4f; }
612
+ .scv-root.scv-dark .scv-chapter-badge { background: #2a3b62; border-color: #3d5789; }
613
+ .scv-root.scv-dark .scv-chapter-rule { background: #4c6492; }
614
+ .scv-root.scv-dark .scv-unit-depth-3 h2, .scv-root.scv-dark .scv-unit-depth-4 h2 { color: #9ba9c2; }
615
+ .scv-root.scv-dark .scv-permalink-trigger:hover, .scv-root.scv-dark .scv-permalink-trigger:focus-visible { color: #91bdff; }
616
+ .scv-root.scv-dark .scv-block p, .scv-root.scv-dark .scv-label-list-content > span { color: #e0e6f2; }
617
+ .scv-root.scv-dark .scv-note-content, .scv-root.scv-dark .scv-note-content > p,
618
+ .scv-root.scv-dark .scv-note-list-item, .scv-root.scv-dark .scv-note-list-marker,
619
+ .scv-root.scv-dark .scv-note-list-description { color: #e0e6f2; }
620
+ .scv-root.scv-dark .scv-note-rule { background: #e0e6f2; }
621
+ .scv-root.scv-dark .scv-related-unit, .scv-root.scv-dark .scv-circular-fallback { border-color: #3b486b; }
622
+ .scv-root.scv-dark .inline-math { color: #e7ebf5; }
623
+ .scv-root.scv-dark .formula-asset, .scv-root.scv-dark .table-asset, .scv-root.scv-dark .figure-asset { background: #1b2130; border-color: #3a455e; }
624
+ .scv-root.scv-dark .formula-asset figcaption, .scv-root.scv-dark .table-asset figcaption, .scv-root.scv-dark .figure-asset figcaption { color: #a6b0c2; }
625
+ .scv-root.scv-dark .table-asset table { color: #e0e6f2; }
626
+ .scv-root.scv-dark .table-asset th, .scv-root.scv-dark .table-asset td { border-color: #4b566e; }
627
+ .scv-root.scv-dark .table-asset th { color: #f5f7ff; background: #465b9b; }
628
+ .scv-root.scv-dark .table-asset td { background: #202738; }
629
+ .scv-root.scv-dark .table-asset tbody tr:nth-child(even) td { background: #293146; }
630
+ .scv-root.scv-dark .table-notes, .scv-root.scv-dark .table-notes > p { color: #aab4c6; }
631
+ .scv-root.scv-dark .figure-asset figcaption { border-color: #3a455e; }
632
+ .scv-root.scv-dark .asset-missing { color: #ffaaa0 !important; background: #422723; }
633
+ .scv-root.scv-dark .scv-loading > span { border-color: #46516a; }
634
+ .scv-root.scv-dark .scv-loading-rows span { background: linear-gradient(90deg, #252d3e, #323d53, #252d3e); }
635
+ .scv-root.scv-dark .scv-copy-asset { color: #b9cdf3; background: rgb(27 33 48 / 94%); border-color: #46516e; box-shadow: 0 4px 12px rgb(0 0 0 / 32%); }
636
+ .scv-root.scv-dark .scv-citation-actions { background: rgb(27 33 48 / 94%); box-shadow: 0 3px 14px rgb(0 0 0 / 38%); }
637
+ .scv-root.scv-dark .scv-backlink-panel, .scv-root.scv-dark .scv-reference-preview { box-shadow: 0 14px 36px rgb(0 0 0 / 48%); }
638
+ .scv-root.scv-dark .scv-content-notice { color: #fde68a; background: #3a311d; border-color: #725f27; }
639
+ .scv-root.scv-dark .scv-scroll-track::before { background: #252d3d; border-color: #39445a; box-shadow: inset 0 1px 2px rgb(0 0 0 / 24%); }
640
+ .scv-root.scv-dark .scv-scroll-track::after { background-image: radial-gradient(circle at center, #8993a5 0 1.25px, transparent 2px); }
641
+ .scv-root.scv-dark .scv-scroll-overlay { color: #f5f7ff; background: rgb(24 31 48 / 97%); border-color: #465577; box-shadow: 0 8px 24px rgb(0 0 0 / 42%); }
642
+ .scv-root.scv-dark .scv-annotation-menu, .scv-root.scv-dark .scv-annotation-editor, .scv-root.scv-dark .scv-annotation-cluster-popover { box-shadow: 0 14px 40px rgb(0 0 0 / 52%); }
643
+ .scv-root.scv-dark .scv-note-margin-marker { color: #231a00; background: #e5b83c; border-color: #ffd86c; }
644
+ .scv-root.scv-dark .scv-pdf-panel { background: #202633; }
645
+
646
+ @keyframes scv-spin { to { transform: rotate(360deg); } }
647
+ @keyframes scv-shimmer { to { background-position: -200% 0; } }
648
+
649
+ .scv-tool-content[hidden] { display: none; }
650
+ .scv-tools-toggle { position: absolute; z-index: 7; right: 64px; bottom: 18px; min-height: 42px; max-width: calc(100% - 80px); padding: 9px 13px; color: var(--scv-primary-dark); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 8px; box-shadow: 0 3px 12px rgb(0 0 0 / 12%); cursor: pointer; }
651
+ .scv-root.scv-has-auxiliary .scv-tools-toggle { display: none; }
652
+ .scv-tools-dock { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; color: var(--scv-ink); background: var(--scv-panel); }
653
+ .scv-tools-header { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px; border-bottom: 1px solid var(--scv-line); }
654
+ .scv-tools-header [role="tablist"] { display: flex; gap: 4px; }
655
+ .scv-tools-header button { min-height: 38px; padding: 7px 10px; color: var(--scv-primary-dark); background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 6px; font-size: 13px; cursor: pointer; }
656
+ .scv-tools-header button { height: 42px; min-height: 42px; }
657
+ .scv-tools-header [aria-selected="true"] { color: var(--scv-panel); background: var(--scv-primary); border-color: var(--scv-primary); }
658
+ .scv-tools-header [aria-selected="true"]:hover { background: var(--scv-primary-dark); border-color: var(--scv-primary-dark); }
659
+ .scv-tools-header button.scv-tools-close { display: grid; width: 42px; min-width: 42px; padding: 0; place-items: center; color: var(--scv-ink-soft); background: var(--scv-paper); border-color: var(--scv-line); border-radius: 10px; transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease; }
660
+ .scv-tools-header button.scv-tools-close:hover { color: var(--scv-panel); background: var(--scv-primary); border-color: var(--scv-primary); }
661
+ .scv-tools-close-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
662
+ .scv-tools-header { position: relative; flex-wrap: wrap; }
663
+ .scv-tool-content { min-width: 0; min-height: 0; overflow: hidden; }
664
+
665
+ /* Mobile first: the text keeps its width while the side panes slide over it. */
666
+ .scv-search-toolbar { --scv-toolbar-button-size: 44px; grid-template-columns: auto minmax(0, 1fr) 44px 44px; }
667
+ .scv-search-box { grid-column: 2; grid-row: 1; }
668
+ .scv-search-form kbd { display: none; }
669
+ .scv-root .scv-index-settings-toggle, .scv-root .scv-mobile-index-close { display: grid; width: 44px; height: 44px; place-items: center; padding: 0; color: var(--scv-primary-dark); background: var(--scv-primary-soft); border: 1px solid var(--scv-line); border-radius: 6px; cursor: pointer; }
670
+ .scv-index-settings-toggle { grid-column: 3; grid-row: 1; }
671
+ .scv-index-settings-toggle svg { width: 21px; height: 21px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
672
+ .scv-root .scv-mobile-index-close { grid-column: 4; grid-row: 1; font-size: 24px; line-height: 1; }
673
+ .scv-index-settings { display: grid; grid-column: 1 / -1; grid-row: 2; grid-template-rows: 0fr; visibility: hidden; opacity: 0; pointer-events: none; transition: grid-template-rows .4s cubic-bezier(.22, .8, .25, 1), opacity .3s ease, visibility 0s linear .4s; }
674
+ .scv-index-settings.is-open { grid-template-rows: 1fr; visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
675
+ .scv-index-settings-inner { display: flex; min-height: 0; overflow: hidden; align-items: center; gap: 8px; }
676
+ .scv-index-settings.is-open .scv-index-settings-inner { padding-top: 6px; }
677
+ .scv-index-list button { min-height: 44px; }
678
+ .scv-text-pane { height: 100%; min-height: 0; }
679
+ .scv-root .scv-mobile-index-toggle, .scv-tools-toggle { position: absolute; z-index: 9; top: max(8px, env(safe-area-inset-top)); display: grid; width: 44px; min-width: 44px; height: 44px; min-height: 44px; place-items: center; padding: 0; color: var(--scv-primary-dark); font-weight: 800; background: var(--scv-panel); border: 1px solid var(--scv-line); border-radius: 6px; box-shadow: 0 3px 12px rgb(0 0 0 / 12%); cursor: pointer; }
680
+ .scv-root .scv-mobile-index-toggle { left: 8px; }
681
+ .scv-mobile-context { position: absolute; z-index: 8; top: max(8px, env(safe-area-inset-top)); right: 60px; left: 60px; display: grid; height: 44px; grid-template-columns: 5.5ch minmax(0, 1fr); align-items: center; gap: .3em; min-width: 0; padding: 0 9px; color: var(--scv-ink); font-size: 13px; background: color-mix(in srgb, var(--scv-panel) 78%, transparent); border: 1px solid var(--scv-line); border-radius: 6px; backdrop-filter: blur(8px); pointer-events: none; }
682
+ .scv-mobile-context strong { overflow: hidden; text-overflow: ellipsis; text-align: left; white-space: nowrap; font-variant-numeric: tabular-nums; }
683
+ .scv-mobile-context span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
684
+ .scv-mobile-index-toggle svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
685
+ .scv-tools-toggle { right: 8px; bottom: auto; max-width: none; font-size: 14px; }
686
+ .scv-text-flow { padding: 68px 46px 72px 16px; }
687
+ .scv-citation-actions { top: 8px; right: 8px; left: 72px; max-width: none; }
688
+ .scv-citation-context { max-width: 90px; }
689
+ .scv-citation-actions button { min-height: 36px; }
690
+ .scv-backlink-panel { position: fixed; z-index: 35; top: auto; right: 8px; bottom: 8px; left: 8px; width: auto; max-height: min(72dvh, 620px); }
691
+ .scv-reference-preview { top: auto !important; right: 8px; bottom: 8px; left: 8px !important; width: auto; max-height: min(60dvh, 420px); }
692
+ .scv-reference-preview-actions button { min-height: 44px; }
693
+ .scv-scroll-rail { top: 62px; bottom: 62px; }
694
+ .scv-scroll-overlay { right: 48px; max-width: calc(100vw - 76px); padding: 10px 12px; }
695
+ .scv-scroll-overlay strong { font-size: var(--scv-font-size-17); }
696
+ .scv-scroll-overlay span { display: none; }
697
+ .scv-root .scv-copy-asset { width: 36px; height: 36px; opacity: 1; transform: none; }
698
+ .scv-root .figure-asset.scv-copyable-asset { padding-top: 46px; }
699
+ .scv-tools-header button { min-height: 44px; }
700
+ .scv-tools-header button.scv-tools-close { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
701
+ .scv-tools-header { flex-wrap: nowrap; overflow-x: auto; padding: 6px 8px; }
702
+ .scv-tools-header [role="tablist"] { flex: none; }
703
+ .scv-block p, .scv-root .scv-note-content > p, .scv-root .scv-note-list-item, .scv-root .table-notes > p, .scv-label-list-content > .leading-label-description, .scv-label-list-content > .leading-math-description { text-align: left; }
704
+
705
+ @media (max-width: 767.98px) {
706
+ .scv-annotation-menu { top: auto !important; right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); left: 8px !important; min-width: 0; padding: 8px; border-radius: 12px; }
707
+ .scv-annotation-menu button { min-height: 48px; }
708
+ .scv-annotation-editor { top: auto; right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); left: 8px; width: auto; max-height: min(78dvh, 620px); overflow: auto; border-radius: 14px; }
709
+ .scv-annotation-editor button, .scv-annotations-panel button, .scv-annotations-panel select { min-height: 44px; }
710
+ .scv-annotation-editor button.scv-annotation-close { width: 44px; min-width: 44px; min-height: 44px; }
711
+ .scv-annotation-scrubber-group { top: calc(var(--scv-annotation-ratio) * (100% - 44px)); height: 44px; }
712
+ .scv-annotation-scrubber-marker { width: 44px; height: 44px; }
713
+ .scv-annotations-list li > div button { min-height: 44px; }
714
+ }
715
+
716
+ @media (min-width: 768px) {
717
+ .scv-block p, .scv-root .scv-note-content > p, .scv-root .scv-note-list-item, .scv-root .table-notes > p, .scv-label-list-content > .leading-label-description, .scv-label-list-content > .leading-math-description { text-align: justify; }
718
+ }
719
+
720
+ @media (min-width: 992px) {
721
+ .scv-root { grid-template-columns: var(--scv-index-width) minmax(0, 1fr); }
722
+ .scv-text-pane-shell { transition: transform .5s cubic-bezier(.22, .8, .25, 1); }
723
+ .scv-index-pane { position: relative; z-index: auto; inset: auto; width: auto; transform: none; visibility: visible; pointer-events: auto; transition-delay: 0s; }
724
+ .scv-root.scv-has-auxiliary .scv-index-pane { transform: translateX(-100%); visibility: hidden; pointer-events: none; transition-delay: 0s, .5s; }
725
+ .scv-auxiliary-pane { inset: 0 0 0 auto; width: var(--scv-index-width); }
726
+ .scv-root.scv-has-auxiliary .scv-text-pane-shell { transform: translateX(calc(-1 * var(--scv-index-width))); pointer-events: auto; }
727
+ .scv-root.scv-mobile-index-open .scv-text-pane-shell { pointer-events: auto; }
728
+ .scv-root .scv-mobile-index-toggle, .scv-root .scv-mobile-index-close, .scv-root .scv-index-settings-toggle { display: none; }
729
+ .scv-mobile-context { display: none; }
730
+ .scv-root.scv-has-auxiliary .scv-mobile-context { display: grid; }
731
+ .scv-search-toolbar { --scv-toolbar-button-size: 42px; grid-template-columns: auto minmax(0, 1fr) auto 42px; }
732
+ .scv-search-box { grid-column: auto; grid-row: auto; }
733
+ .scv-search-form kbd { display: inline; }
734
+ .scv-index-settings, .scv-index-settings-inner { display: contents; visibility: visible; opacity: 1; pointer-events: auto; }
735
+ .scv-index-list button { min-height: 36px; }
736
+ .scv-text-flow { padding: 23px 58px 55vh; }
737
+ .scv-tools-toggle { right: 12px; }
738
+ .scv-citation-actions { top: auto; right: 12px; left: auto; max-width: 100%; }
739
+ .scv-citation-context { max-width: none; }
740
+ .scv-backlink-panel, .scv-reference-preview { position: absolute; }
741
+ .scv-scroll-rail { top: 0; bottom: 0; }
742
+ .scv-scroll-overlay span { display: inline; }
743
+ }
744
+
745
+ @media (min-width: 1400px) {
746
+ .scv-root.scv-has-auxiliary .scv-mobile-context { display: none; }
747
+ .scv-root { --scv-auxiliary-width: clamp(340px, 28vw, 480px); }
748
+ .scv-root.scv-has-auxiliary .scv-index-pane { transform: none; visibility: visible; pointer-events: auto; transition-delay: 0s; }
749
+ .scv-root.scv-has-auxiliary .scv-text-pane-shell { transform: none; }
750
+ .scv-auxiliary-pane { width: var(--scv-auxiliary-width); }
751
+ .scv-root.scv-has-auxiliary .scv-scroll-rail { right: var(--scv-auxiliary-width); }
752
+ .scv-root.scv-auxiliary-available .scv-text-flow { width: min(860px, calc(100% - var(--scv-auxiliary-width))); transition: transform .5s cubic-bezier(.22, .8, .25, 1); }
753
+ .scv-root.scv-auxiliary-available.scv-has-auxiliary .scv-text-flow { transform: translateX(calc(-.5 * var(--scv-auxiliary-width))); }
754
+ }
755
+
756
+ @media (hover: none), (pointer: coarse) {
757
+ .scv-root .scv-copy-asset { opacity: 1; transform: none; }
758
+ }
759
+
760
+ @media (prefers-reduced-motion: reduce) {
761
+ .scv-root *, .scv-root *::before, .scv-root *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
762
+ }