@readium/navigator 2.2.2 → 2.2.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.
package/dist/index.js CHANGED
@@ -1194,26 +1194,20 @@ class wi extends gA {
1194
1194
  }
1195
1195
  }
1196
1196
  const dA = `
1197
- /* FontFamily */
1198
-
1199
- :root[style*="--USER__fontFamily"] {
1200
- font-family: var(--USER__fontFamily) !important;
1201
- }
1202
-
1203
- :root[style*="--USER__fontFamily"] * {
1204
- font-family: revert !important;
1205
- }
1206
-
1207
- /* FontWeight */
1197
+ /* TextAlign */
1208
1198
 
1209
- :root[style*="--USER__fontWeight"] body {
1210
- font-weight: var(--USER__fontWeight) !important;
1199
+ :root[style*="--USER__textAlign"] {
1200
+ text-align: var(--USER__textAlign);
1211
1201
  }
1212
1202
 
1213
- /* Attempt to handle known bolds */
1214
- :root[style*="--USER__fontWeight"] b,
1215
- :root[style*="--USER__fontWeight"] strong {
1216
- font-weight: bolder;
1203
+ :root[style*="--USER__textAlign"] body,
1204
+ :root[style*="--USER__textAlign"] p:not([class*="title"]):not(blockquote p):not(figcaption p):not(header p):not(hgroup p):not(div:has(+ *) > h1 + p):not(div:has(+ *) > p:has(+ h1)),
1205
+ :root[style*="--USER__textAlign"] li,
1206
+ :root[style*="--USER__textAlign"] dd {
1207
+ text-align: var(--USER__textAlign) !important;
1208
+ -moz-text-align-last: auto !important;
1209
+ -epub-text-align-last: auto !important;
1210
+ text-align-last: auto !important;
1217
1211
  }
1218
1212
 
1219
1213
  /* Hyphens */
@@ -1238,84 +1232,14 @@ const dA = `
1238
1232
  hyphens: inherit;
1239
1233
  }
1240
1234
 
1241
- /* LetterSpacing */
1242
-
1243
- :root[style*="--USER__letterSpacing"] h1,
1244
- :root[style*="--USER__letterSpacing"] h2,
1245
- :root[style*="--USER__letterSpacing"] h3,
1246
- :root[style*="--USER__letterSpacing"] h4,
1247
- :root[style*="--USER__letterSpacing"] h5,
1248
- :root[style*="--USER__letterSpacing"] h6,
1249
- :root[style*="--USER__letterSpacing"] p,
1250
- :root[style*="--USER__letterSpacing"] li,
1251
- :root[style*="--USER__letterSpacing"] div,
1252
- :root[style*="--USER__letterSpacing"] dt,
1253
- :root[style*="--USER__letterSpacing"] dd {
1254
- letter-spacing: var(--USER__letterSpacing);
1255
- font-variant: none;
1256
- }
1257
-
1258
- /* Ligatures */
1259
-
1260
- :root[style*="--USER__ligatures"] {
1261
- font-variant-ligatures: var(--USER__ligatures) !important;
1262
- }
1263
-
1264
- :root[style*="--USER__ligatures"] * {
1265
- font-variant-ligatures: inherit !important;
1266
- }
1267
-
1268
- /* LineHeight */
1269
-
1270
- :root[style*="--USER__lineHeight"] {
1271
- line-height: var(--USER__lineHeight) !important;
1272
- }
1273
-
1274
- :root[style*="--USER__lineHeight"] body,
1275
- :root[style*="--USER__lineHeight"] p,
1276
- :root[style*="--USER__lineHeight"] li,
1277
- :root[style*="--USER__lineHeight"] div {
1278
- line-height: inherit;
1279
- }
1280
-
1281
- /* ParagraphIndent */
1282
-
1283
- :root[style*="--USER__paraIndent"] p {
1284
- text-indent: var(--USER__paraIndent) !important;
1285
- }
1286
-
1287
- :root[style*="--USER__paraIndent"] p *,
1288
- :root[style*="--USER__paraIndent"] p:first-letter {
1289
- text-indent: 0 !important;
1290
- }
1291
-
1292
- /* ParagraphSpacing */
1293
-
1294
- :root[style*="--USER__paraSpacing"] p {
1295
- margin-block: var(--USER__paraSpacing) !important;
1296
- }
1297
-
1298
- /* Ruby */
1299
-
1300
- :root[style*="readium-noRuby-on"] body rt,
1301
- :root[style*="readium-noRuby-on"] body rp {
1302
- display: none;
1303
- }
1304
-
1305
- /* TextAlign */
1235
+ /* FontFamily */
1306
1236
 
1307
- :root[style*="--USER__textAlign"] {
1308
- text-align: var(--USER__textAlign);
1237
+ :root[style*="--USER__fontFamily"] {
1238
+ font-family: var(--USER__fontFamily) !important;
1309
1239
  }
1310
1240
 
1311
- :root[style*="--USER__textAlign"] body,
1312
- :root[style*="--USER__textAlign"] p:not(blockquote p):not(figcaption p):not(hgroup p),
1313
- :root[style*="--USER__textAlign"] li,
1314
- :root[style*="--USER__textAlign"] dd {
1315
- text-align: var(--USER__textAlign) !important;
1316
- -moz-text-align-last: auto !important;
1317
- -epub-text-align-last: auto !important;
1318
- text-align-last: auto !important;
1241
+ :root[style*="--USER__fontFamily"] * {
1242
+ font-family: revert !important;
1319
1243
  }
1320
1244
 
1321
1245
  /* TextNormalize */
@@ -1325,13 +1249,13 @@ const dA = `
1325
1249
  font-style: normal !important;
1326
1250
  }
1327
1251
 
1328
- :root[style*="readium-a11y-on"] *:not(code):not(var):not(kbd):not(samp) {
1252
+ :root[style*="readium-a11y-on"] body *:not(code):not(var):not(kbd):not(samp) {
1329
1253
  font-family: inherit !important;
1330
1254
  font-weight: inherit !important;
1331
1255
  font-style: inherit !important;
1332
1256
  }
1333
1257
 
1334
- :root[style*="readium-a11y-on"] * {
1258
+ :root[style*="readium-a11y-on"] body * {
1335
1259
  text-decoration: none !important;
1336
1260
  font-variant-caps: normal !important;
1337
1261
  font-variant-position: normal !important;
@@ -1344,22 +1268,6 @@ const dA = `
1344
1268
  vertical-align: baseline !important;
1345
1269
  }
1346
1270
 
1347
- /* Word Spacing */
1348
-
1349
- :root[style*="--USER__wordSpacing"] h1,
1350
- :root[style*="--USER__wordSpacing"] h2,
1351
- :root[style*="--USER__wordSpacing"] h3,
1352
- :root[style*="--USER__wordSpacing"] h4,
1353
- :root[style*="--USER__wordSpacing"] h5,
1354
- :root[style*="--USER__wordSpacing"] h6,
1355
- :root[style*="--USER__wordSpacing"] p,
1356
- :root[style*="--USER__wordSpacing"] li,
1357
- :root[style*="--USER__wordSpacing"] div,
1358
- :root[style*="--USER__wordSpacing"] dt,
1359
- :root[style*="--USER__wordSpacing"] dd {
1360
- word-spacing: var(--USER__wordSpacing);
1361
- }
1362
-
1363
1271
  /* Zoom */
1364
1272
 
1365
1273
  :root {
@@ -1394,6 +1302,98 @@ const dA = `
1394
1302
  zoom: var(--USER__zoom) !important;
1395
1303
  }
1396
1304
  }
1305
+
1306
+ /* LineHeight */
1307
+
1308
+ :root[style*="--USER__lineHeight"] {
1309
+ line-height: var(--USER__lineHeight) !important;
1310
+ }
1311
+
1312
+ :root[style*="--USER__lineHeight"] body,
1313
+ :root[style*="--USER__lineHeight"] p,
1314
+ :root[style*="--USER__lineHeight"] li,
1315
+ :root[style*="--USER__lineHeight"] div {
1316
+ line-height: inherit;
1317
+ }
1318
+
1319
+ /* ParagraphSpacing */
1320
+
1321
+ :root[style*="--USER__paraSpacing"] p {
1322
+ margin-block: var(--USER__paraSpacing) !important;
1323
+ }
1324
+
1325
+ /* ParagraphIndent */
1326
+
1327
+ :root[style*="--USER__paraIndent"] p {
1328
+ text-indent: var(--USER__paraIndent) !important;
1329
+ }
1330
+
1331
+ :root[style*="--USER__paraIndent"] p *,
1332
+ :root[style*="--USER__paraIndent"] p:first-letter {
1333
+ text-indent: 0 !important;
1334
+ }
1335
+
1336
+ /* WordSpacing */
1337
+
1338
+ :root[style*="--USER__wordSpacing"] h1,
1339
+ :root[style*="--USER__wordSpacing"] h2,
1340
+ :root[style*="--USER__wordSpacing"] h3,
1341
+ :root[style*="--USER__wordSpacing"] h4,
1342
+ :root[style*="--USER__wordSpacing"] h5,
1343
+ :root[style*="--USER__wordSpacing"] h6,
1344
+ :root[style*="--USER__wordSpacing"] p,
1345
+ :root[style*="--USER__wordSpacing"] li,
1346
+ :root[style*="--USER__wordSpacing"] div,
1347
+ :root[style*="--USER__wordSpacing"] dt,
1348
+ :root[style*="--USER__wordSpacing"] dd {
1349
+ word-spacing: var(--USER__wordSpacing);
1350
+ }
1351
+
1352
+ /* LetterSpacing */
1353
+
1354
+ :root[style*="--USER__letterSpacing"] h1,
1355
+ :root[style*="--USER__letterSpacing"] h2,
1356
+ :root[style*="--USER__letterSpacing"] h3,
1357
+ :root[style*="--USER__letterSpacing"] h4,
1358
+ :root[style*="--USER__letterSpacing"] h5,
1359
+ :root[style*="--USER__letterSpacing"] h6,
1360
+ :root[style*="--USER__letterSpacing"] p,
1361
+ :root[style*="--USER__letterSpacing"] li,
1362
+ :root[style*="--USER__letterSpacing"] div,
1363
+ :root[style*="--USER__letterSpacing"] dt,
1364
+ :root[style*="--USER__letterSpacing"] dd {
1365
+ letter-spacing: var(--USER__letterSpacing);
1366
+ font-variant: none;
1367
+ }
1368
+
1369
+ /* FontWeight */
1370
+
1371
+ :root[style*="--USER__fontWeight"] body {
1372
+ font-weight: var(--USER__fontWeight) !important;
1373
+ }
1374
+
1375
+ /* Attempt to handle known bolds */
1376
+ :root[style*="--USER__fontWeight"] b,
1377
+ :root[style*="--USER__fontWeight"] strong {
1378
+ font-weight: bolder;
1379
+ }
1380
+
1381
+ /* Ruby */
1382
+
1383
+ :root[style*="readium-noRuby-on"] body rt,
1384
+ :root[style*="readium-noRuby-on"] body rp {
1385
+ display: none;
1386
+ }
1387
+
1388
+ /* Ligatures */
1389
+
1390
+ :root[style*="--USER__ligatures"] {
1391
+ font-variant-ligatures: var(--USER__ligatures) !important;
1392
+ }
1393
+
1394
+ :root[style*="--USER__ligatures"] * {
1395
+ font-variant-ligatures: inherit !important;
1396
+ }
1397
1397
  `, kt = (r, t) => URL.createObjectURL(new Blob([r], { type: t })), Ei = (r) => r.replace(/\/\/.*/g, "").replace(/\/\*[\s\S]*?\*\//g, "").replace(/\n/g, "").replace(/\s+/g, " "), pe = (r, t) => {
1398
1398
  const e = r.createElement("script");
1399
1399
  return e.dataset.readium = "true", e.src = t.startsWith("blob:") ? t : kt(t, "text/javascript"), e;
@@ -5923,7 +5923,7 @@ class En extends wi {
5923
5923
  }
5924
5924
  }
5925
5925
  const er = En, In = `/*!
5926
- * Readium CSS v.2.0.0-beta.19
5926
+ * Readium CSS v.2.0.0-beta.20
5927
5927
  * Copyright (c) 2017–2025. Readium Foundation. All rights reserved.
5928
5928
  * Use of this source code is governed by a BSD-style license which is detailed in the
5929
5929
  * LICENSE file present in the project repository where this source code is maintained.
@@ -5935,8 +5935,8 @@ const er = En, In = `/*!
5935
5935
  * L. Le Meur
5936
5936
  * Mickaël Menu
5937
5937
  * k_taka
5938
- */@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__viewportWidth:100%;--RS__pageGutter:0;--RS__defaultLineLength:40rem;--RS__colGap:0;--RS__colCount:1;--RS__colWidth:100vw}@page{margin:0!important}:root{position:relative;-webkit-column-width:var(--RS__colWidth);-moz-column-width:var(--RS__colWidth);column-width:var(--RS__colWidth);-webkit-column-count:var(--RS__colCount);-moz-column-count:var(--RS__colCount);column-count:var(--RS__colCount);-webkit-column-gap:var(--RS__colGap);-moz-column-gap:var(--RS__colGap);column-gap:var(--RS__colGap);-moz-column-fill:auto;column-fill:auto;width:var(--RS__viewportWidth);height:100vh;max-width:var(--RS__viewportWidth);max-height:100vh;min-width:var(--RS__viewportWidth);min-height:100vh;padding:0!important;margin:0!important;font-size:1rem!important;box-sizing:border-box;-webkit-touch-callout:none}body{width:100%;max-width:var(--RS__defaultLineLength)!important;padding:0 var(--RS__pageGutter)!important;margin:0 auto!important;box-sizing:border-box}:root:not([style*=readium-noOverflow-on]) body{overflow:hidden}@supports (overflow: clip){:root:not([style*=readium-noOverflow-on]){overflow:clip}:root:not([style*=readium-noOverflow-on]) body{overflow:clip;overflow-clip-margin:content-box}}:root[style*=readium-scroll-on]{-webkit-columns:auto auto!important;-moz-columns:auto auto!important;columns:auto auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important}:root[style*=readium-scroll-on] body{max-width:var(--RS__defaultLineLength)!important;box-sizing:border-box!important}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:auto}@supports (overflow: clip){:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]){overflow:auto}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:clip}}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingTop] body{padding-top:var(--RS__scrollPaddingTop)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingBottom] body{padding-bottom:var(--RS__scrollPaddingBottom)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingLeft] body{padding-left:var(--RS__scrollPaddingLeft)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingRight] body{padding-right:var(--RS__scrollPaddingRight)!important}:root[style*=--USER__backgroundColor]{background-color:var(--USER__backgroundColor)!important}:root[style*=--USER__backgroundColor] *{background-color:transparent!important}:root[style*=--USER__textColor]{color:var(--USER__textColor)!important}:root[style*=--USER__textColor] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=--USER__textColor] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=--USER__linkColor] a:link,:root[style*=--USER__linkColor] a:link *{color:var(--USER__linkColor)!important}:root[style*=--USER__visitedColor] a:visited,:root[style*=--USER__visitedColor] a:visited *{color:var(--USER__visitedColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::-moz-selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__colCount]{-webkit-column-count:var(--USER__colCount);-moz-column-count:var(--USER__colCount);column-count:var(--USER__colCount);--RS__colWidth:auto}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"]{-webkit-column-count:1;-moz-column-count:1;column-count:1}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"],:root[style*="--USER__colCount: 1"],:root[style*="--USER__colCount:1"]{--RS__colWidth:100vw}:root[style*=--USER__lineLength] body{max-width:var(--USER__lineLength)!important}:root[style*=--USER__textAlign]{text-align:var(--USER__textAlign)}:root[style*=--USER__textAlign] body,:root[style*=--USER__textAlign] p:not(blockquote p):not(figcaption p):not(hgroup p),:root[style*=--USER__textAlign] li,:root[style*=--USER__textAlign] dd{text-align:var(--USER__textAlign)!important;-moz-text-align-last:auto!important;-epub-text-align-last:auto!important;text-align-last:auto!important}:root[style*=--USER__bodyHyphens]{-webkit-hyphens:var(--USER__bodyHyphens)!important;-moz-hyphens:var(--USER__bodyHyphens)!important;-ms-hyphens:var(--USER__bodyHyphens)!important;-epub-hyphens:var(--USER__bodyHyphens)!important;hyphens:var(--USER__bodyHyphens)!important}:root[style*=--USER__bodyHyphens] body,:root[style*=--USER__bodyHyphens] p,:root[style*=--USER__bodyHyphens] li,:root[style*=--USER__bodyHyphens] div,:root[style*=--USER__bodyHyphens] dd{-webkit-hyphens:inherit;-moz-hyphens:inherit;-ms-hyphens:inherit;-epub-hyphens:inherit;hyphens:inherit}:root[style*=--USER__fontFamily]{font-family:var(--USER__fontFamily)!important}:root[style*=--USER__fontFamily] *{font-family:revert!important}:root[style*=AccessibleDfA]{font-family:AccessibleDfA,Verdana,Tahoma,Trebuchet MS,sans-serif!important}:root[style*="IA Writer Duospace"]{font-family:IA Writer Duospace,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace!important}:root[style*=AccessibleDfA],:root[style*="IA Writer Duospace"],:root[style*=readium-a11y-on]{font-style:normal!important;font-weight:400!important}:root[style*=AccessibleDfA] *:not(code):not(var):not(kbd):not(samp),:root[style*="IA Writer Duospace"] *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-a11y-on] *:not(code):not(var):not(kbd):not(samp){font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important}:root[style*=AccessibleDfA] *,:root[style*="IA Writer Duospace"] *,:root[style*=readium-a11y-on] *{text-decoration:none!important;font-variant-caps:normal!important;font-variant-numeric:normal!important;font-variant-position:normal!important}:root[style*=AccessibleDfA] sup,:root[style*="IA Writer Duospace"] sup,:root[style*=readium-a11y-on] sup,:root[style*=AccessibleDfA] sub,:root[style*="IA Writer Duospace"] sub,:root[style*=readium-a11y-on] sub{font-size:1rem!important;vertical-align:baseline!important}:root:not([style*=readium-deprecatedFontSize-on]):not([style*=readium-iOSPatch-on])[style*=--USER__fontSize] body{zoom:var(--USER__fontSize)!important}:root[style*=readium-iOSPatch-on][style*=--USER__fontSize] body{-webkit-text-size-adjust:var(--USER__fontSize)!important}@supports not (zoom: 1){:root[style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}}:root[style*=readium-deprecatedFontSize-on][style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}:root[style*=--USER__lineHeight]{line-height:var(--USER__lineHeight)!important}:root[style*=--USER__lineHeight] body,:root[style*=--USER__lineHeight] p,:root[style*=--USER__lineHeight] li,:root[style*=--USER__lineHeight] div{line-height:inherit}:root[style*=--USER__paraSpacing] p{margin-top:var(--USER__paraSpacing)!important;margin-bottom:var(--USER__paraSpacing)!important}:root[style*=--USER__paraIndent] p{text-indent:var(--USER__paraIndent)!important}:root[style*=--USER__paraIndent] p *,:root[style*=--USER__paraIndent] p:first-letter{text-indent:0!important}:root[style*=--USER__wordSpacing] h1,:root[style*=--USER__wordSpacing] h2,:root[style*=--USER__wordSpacing] h3,:root[style*=--USER__wordSpacing] h4,:root[style*=--USER__wordSpacing] h5,:root[style*=--USER__wordSpacing] h6,:root[style*=--USER__wordSpacing] p,:root[style*=--USER__wordSpacing] li,:root[style*=--USER__wordSpacing] div,:root[style*=--USER__wordSpacing] dt,:root[style*=--USER__wordSpacing] dd{word-spacing:var(--USER__wordSpacing)}:root[style*=--USER__letterSpacing] h1,:root[style*=--USER__letterSpacing] h2,:root[style*=--USER__letterSpacing] h3,:root[style*=--USER__letterSpacing] h4,:root[style*=--USER__letterSpacing] h5,:root[style*=--USER__letterSpacing] h6,:root[style*=--USER__letterSpacing] p,:root[style*=--USER__letterSpacing] li,:root[style*=--USER__letterSpacing] div,:root[style*=--USER__letterSpacing] dt,:root[style*=--USER__letterSpacing] dd{letter-spacing:var(--USER__letterSpacing);font-variant:none}:root[style*=--USER__fontWeight] body{font-weight:var(--USER__fontWeight)!important}:root[style*=--USER__fontWeight] b,:root[style*=--USER__fontWeight] strong{font-weight:bolder}:root[style*=--USER__fontWidth] body{font-stretch:var(--USER__fontWidth)!important}:root[style*=--USER__fontOpticalSizing] body{font-optical-sizing:var(--USER__fontOpticalSizing)!important}:root[style*=readium-blend-on] svg,:root[style*=readium-blend-on] img{background-color:transparent!important;mix-blend-mode:multiply!important}:root[style*=--USER__darkenImages] img{-webkit-filter:brightness(var(--USER__darkenImages))!important;filter:brightness(var(--USER__darkenImages))!important}:root[style*=readium-darken-on] img{-webkit-filter:brightness(80%)!important;filter:brightness(80%)!important}:root[style*=--USER__invertImages] img{-webkit-filter:invert(var(--USER__invertImages))!important;filter:invert(var(--USER__invertImages))!important}:root[style*=readium-invert-on] img{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=--USER__darkenImages][style*=--USER__invertImages] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important;filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important}:root[style*=readium-darken-on][style*=--USER__invertImages] img{-webkit-filter:brightness(80%) invert(var(--USER__invertImages))!important;filter:brightness(80%) invert(var(--USER__invertImages))!important}:root[style*=--USER__darkenImages][style*=readium-invert-on] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(100%)!important;filter:brightness(var(--USER__darkenImages)) invert(100%)!important}:root[style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%) invert(100%)!important;filter:brightness(80%) invert(100%)!important}:root[style*=--USER__invertGaiji] img[class*=gaiji]{-webkit-filter:invert(var(--USER__invertGaiji))!important;filter:invert(var(--USER__invertGaiji))!important}:root[style*=readium-invertGaiji-on] img[class*=gaiji]{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=readium-normalize-on]{--USER__typeScale:1.2}:root[style*=readium-normalize-on] p,:root[style*=readium-normalize-on] li,:root[style*=readium-normalize-on] div,:root[style*=readium-normalize-on] pre,:root[style*=readium-normalize-on] dd{font-size:1rem!important}:root[style*=readium-normalize-on] h1{font-size:1.75rem!important;font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h2{font-size:1.5rem!important;font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h3{font-size:1.25rem!important;font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h4,:root[style*=readium-normalize-on] h5,:root[style*=readium-normalize-on] h6{font-size:1rem!important}:root[style*=readium-normalize-on] small{font-size:smaller!important}:root[style*=readium-normalize-on] sub,:root[style*=readium-normalize-on] sup{font-size:67.5%!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h1{font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h2{font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h3{font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-iPadOSPatch-on] body{-webkit-text-size-adjust:none}:root[style*=readium-iPadOSPatch-on] p,:root[style*=readium-iPadOSPatch-on] h1,:root[style*=readium-iPadOSPatch-on] h2,:root[style*=readium-iPadOSPatch-on] h3,:root[style*=readium-iPadOSPatch-on] h4,:root[style*=readium-iPadOSPatch-on] h5,:root[style*=readium-iPadOSPatch-on] h6,:root[style*=readium-iPadOSPatch-on] li,:root[style*=readium-iPadOSPatch-on] th,:root[style*=readium-iPadOSPatch-on] td,:root[style*=readium-iPadOSPatch-on] dt,:root[style*=readium-iPadOSPatch-on] dd,:root[style*=readium-iPadOSPatch-on] pre,:root[style*=readium-iPadOSPatch-on] address,:root[style*=readium-iPadOSPatch-on] details,:root[style*=readium-iPadOSPatch-on] summary,:root[style*=readium-iPadOSPatch-on] figcaption,:root[style*=readium-iPadOSPatch-on] div:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)),:root[style*=readium-iPadOSPatch-on] aside:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)){-webkit-text-zoom:reset}:root[style*=readium-iPadOSPatch-on] abbr,:root[style*=readium-iPadOSPatch-on] b,:root[style*=readium-iPadOSPatch-on] bdi,:root[style*=readium-iPadOSPatch-on] bdo,:root[style*=readium-iPadOSPatch-on] cite,:root[style*=readium-iPadOSPatch-on] code,:root[style*=readium-iPadOSPatch-on] dfn,:root[style*=readium-iPadOSPatch-on] em,:root[style*=readium-iPadOSPatch-on] i,:root[style*=readium-iPadOSPatch-on] kbd,:root[style*=readium-iPadOSPatch-on] mark,:root[style*=readium-iPadOSPatch-on] q,:root[style*=readium-iPadOSPatch-on] rp,:root[style*=readium-iPadOSPatch-on] rt,:root[style*=readium-iPadOSPatch-on] ruby,:root[style*=readium-iPadOSPatch-on] s,:root[style*=readium-iPadOSPatch-on] samp,:root[style*=readium-iPadOSPatch-on] small,:root[style*=readium-iPadOSPatch-on] span,:root[style*=readium-iPadOSPatch-on] strong,:root[style*=readium-iPadOSPatch-on] sub,:root[style*=readium-iPadOSPatch-on] sup,:root[style*=readium-iPadOSPatch-on] time,:root[style*=readium-iPadOSPatch-on] u,:root[style*=readium-iPadOSPatch-on] var{-webkit-text-zoom:normal}:root[style*=readium-iPadOSPatch-on] p:not(:has(b,cite,em,i,q,s,small,span,strong)):first-line{-webkit-text-zoom:normal}`, Fn = `/*!
5939
- * Readium CSS v.2.0.0-beta.19
5938
+ */@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__viewportWidth:100%;--RS__pageGutter:0;--RS__defaultLineLength:40rem;--RS__colGap:0;--RS__colCount:1;--RS__colWidth:100vw}@page{margin:0!important}:root{position:relative;-webkit-column-width:var(--RS__colWidth);-moz-column-width:var(--RS__colWidth);column-width:var(--RS__colWidth);-webkit-column-count:var(--RS__colCount);-moz-column-count:var(--RS__colCount);column-count:var(--RS__colCount);-webkit-column-gap:var(--RS__colGap);-moz-column-gap:var(--RS__colGap);column-gap:var(--RS__colGap);-moz-column-fill:auto;column-fill:auto;width:var(--RS__viewportWidth);height:100vh;max-width:var(--RS__viewportWidth);max-height:100vh;min-width:var(--RS__viewportWidth);min-height:100vh;padding:0!important;margin:0!important;font-size:1rem!important;box-sizing:border-box;-webkit-touch-callout:none}body{width:100%;max-width:var(--RS__defaultLineLength)!important;padding:0 var(--RS__pageGutter)!important;margin:0 auto!important;box-sizing:border-box}:root:not([style*=readium-noOverflow-on]) body{overflow:hidden}@supports (overflow: clip){:root:not([style*=readium-noOverflow-on]){overflow:clip}:root:not([style*=readium-noOverflow-on]) body{overflow:clip;overflow-clip-margin:content-box}}:root[style*=readium-scroll-on]{-webkit-columns:auto auto!important;-moz-columns:auto auto!important;columns:auto auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important}:root[style*=readium-scroll-on] body{max-width:var(--RS__defaultLineLength)!important;box-sizing:border-box!important}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:auto}@supports (overflow: clip){:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]){overflow:auto}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:clip}}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingTop] body{padding-top:var(--RS__scrollPaddingTop)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingBottom] body{padding-bottom:var(--RS__scrollPaddingBottom)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingLeft] body{padding-left:var(--RS__scrollPaddingLeft)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingRight] body{padding-right:var(--RS__scrollPaddingRight)!important}:root[style*=--USER__backgroundColor]{background-color:var(--USER__backgroundColor)!important}:root[style*=--USER__backgroundColor] *{background-color:transparent!important}:root[style*=--USER__textColor]{color:var(--USER__textColor)!important}:root[style*=--USER__textColor] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=--USER__textColor] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=--USER__linkColor] a:link,:root[style*=--USER__linkColor] a:link *{color:var(--USER__linkColor)!important}:root[style*=--USER__visitedColor] a:visited,:root[style*=--USER__visitedColor] a:visited *{color:var(--USER__visitedColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::-moz-selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__colCount]{-webkit-column-count:var(--USER__colCount);-moz-column-count:var(--USER__colCount);column-count:var(--USER__colCount);--RS__colWidth:auto}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"]{-webkit-column-count:1;-moz-column-count:1;column-count:1}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"],:root[style*="--USER__colCount: 1"],:root[style*="--USER__colCount:1"]{--RS__colWidth:100vw}:root[style*=--USER__lineLength] body{max-width:var(--USER__lineLength)!important}:root[style*=--USER__textAlign]{text-align:var(--USER__textAlign)}:root[style*=--USER__textAlign] body,:root[style*=--USER__textAlign] p:not([class*=title]):not(blockquote p):not(figcaption p):not(header p):not(hgroup p):not(div:has(+*)>h1+p):not(div:has(+*)>p:has(+h1)),:root[style*=--USER__textAlign] li,:root[style*=--USER__textAlign] dd{text-align:var(--USER__textAlign)!important;-moz-text-align-last:auto!important;-epub-text-align-last:auto!important;text-align-last:auto!important}:root[style*=--USER__bodyHyphens]{-webkit-hyphens:var(--USER__bodyHyphens)!important;-moz-hyphens:var(--USER__bodyHyphens)!important;-ms-hyphens:var(--USER__bodyHyphens)!important;-epub-hyphens:var(--USER__bodyHyphens)!important;hyphens:var(--USER__bodyHyphens)!important}:root[style*=--USER__bodyHyphens] body,:root[style*=--USER__bodyHyphens] p,:root[style*=--USER__bodyHyphens] li,:root[style*=--USER__bodyHyphens] div,:root[style*=--USER__bodyHyphens] dd{-webkit-hyphens:inherit;-moz-hyphens:inherit;-ms-hyphens:inherit;-epub-hyphens:inherit;hyphens:inherit}:root[style*=--USER__fontFamily]{font-family:var(--USER__fontFamily)!important}:root[style*=--USER__fontFamily] *{font-family:revert!important}:root[style*=AccessibleDfA]{font-family:AccessibleDfA,Verdana,Tahoma,Trebuchet MS,sans-serif!important}:root[style*="IA Writer Duospace"]{font-family:IA Writer Duospace,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace!important}:root[style*=AccessibleDfA],:root[style*="IA Writer Duospace"],:root[style*=readium-a11y-on]{font-style:normal!important;font-weight:400!important}:root[style*=AccessibleDfA] body *:not(code):not(var):not(kbd):not(samp),:root[style*="IA Writer Duospace"] body *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-a11y-on] body *:not(code):not(var):not(kbd):not(samp){font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important}:root[style*=AccessibleDfA] body *,:root[style*="IA Writer Duospace"] body *,:root[style*=readium-a11y-on] body *{text-decoration:none!important;font-variant-caps:normal!important;font-variant-numeric:normal!important;font-variant-position:normal!important}:root[style*=AccessibleDfA] sup,:root[style*="IA Writer Duospace"] sup,:root[style*=readium-a11y-on] sup,:root[style*=AccessibleDfA] sub,:root[style*="IA Writer Duospace"] sub,:root[style*=readium-a11y-on] sub{font-size:1rem!important;vertical-align:baseline!important}:root:not([style*=readium-deprecatedFontSize-on]):not([style*=readium-iOSPatch-on])[style*=--USER__fontSize] body{zoom:var(--USER__fontSize)!important}:root[style*=readium-iOSPatch-on][style*=--USER__fontSize] body{-webkit-text-size-adjust:var(--USER__fontSize)!important}@supports not (zoom: 1){:root[style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}}:root[style*=readium-deprecatedFontSize-on][style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}:root[style*=--USER__lineHeight]{line-height:var(--USER__lineHeight)!important}:root[style*=--USER__lineHeight] body,:root[style*=--USER__lineHeight] p,:root[style*=--USER__lineHeight] li,:root[style*=--USER__lineHeight] div{line-height:inherit}:root[style*=--USER__paraSpacing] p{margin-top:var(--USER__paraSpacing)!important;margin-bottom:var(--USER__paraSpacing)!important}:root[style*=--USER__paraIndent] p{text-indent:var(--USER__paraIndent)!important}:root[style*=--USER__paraIndent] p *,:root[style*=--USER__paraIndent] p:first-letter{text-indent:0!important}:root[style*=--USER__wordSpacing] h1,:root[style*=--USER__wordSpacing] h2,:root[style*=--USER__wordSpacing] h3,:root[style*=--USER__wordSpacing] h4,:root[style*=--USER__wordSpacing] h5,:root[style*=--USER__wordSpacing] h6,:root[style*=--USER__wordSpacing] p,:root[style*=--USER__wordSpacing] li,:root[style*=--USER__wordSpacing] div,:root[style*=--USER__wordSpacing] dt,:root[style*=--USER__wordSpacing] dd{word-spacing:var(--USER__wordSpacing)}:root[style*=--USER__letterSpacing] h1,:root[style*=--USER__letterSpacing] h2,:root[style*=--USER__letterSpacing] h3,:root[style*=--USER__letterSpacing] h4,:root[style*=--USER__letterSpacing] h5,:root[style*=--USER__letterSpacing] h6,:root[style*=--USER__letterSpacing] p,:root[style*=--USER__letterSpacing] li,:root[style*=--USER__letterSpacing] div,:root[style*=--USER__letterSpacing] dt,:root[style*=--USER__letterSpacing] dd{letter-spacing:var(--USER__letterSpacing);font-variant:none}:root[style*=--USER__fontWeight] body{font-weight:var(--USER__fontWeight)!important}:root[style*=--USER__fontWeight] b,:root[style*=--USER__fontWeight] strong{font-weight:bolder}:root[style*=--USER__fontWidth] body{font-stretch:var(--USER__fontWidth)!important}:root[style*=--USER__fontOpticalSizing] body{font-optical-sizing:var(--USER__fontOpticalSizing)!important}:root[style*=readium-blend-on] svg,:root[style*=readium-blend-on] img{background-color:transparent!important;mix-blend-mode:multiply!important}:root[style*=--USER__darkenImages] img{-webkit-filter:brightness(var(--USER__darkenImages))!important;filter:brightness(var(--USER__darkenImages))!important}:root[style*=readium-darken-on] img{-webkit-filter:brightness(80%)!important;filter:brightness(80%)!important}:root[style*=--USER__invertImages] img{-webkit-filter:invert(var(--USER__invertImages))!important;filter:invert(var(--USER__invertImages))!important}:root[style*=readium-invert-on] img{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=--USER__darkenImages][style*=--USER__invertImages] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important;filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important}:root[style*=readium-darken-on][style*=--USER__invertImages] img{-webkit-filter:brightness(80%) invert(var(--USER__invertImages))!important;filter:brightness(80%) invert(var(--USER__invertImages))!important}:root[style*=--USER__darkenImages][style*=readium-invert-on] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(100%)!important;filter:brightness(var(--USER__darkenImages)) invert(100%)!important}:root[style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%) invert(100%)!important;filter:brightness(80%) invert(100%)!important}:root[style*=--USER__invertGaiji] img[class*=gaiji]{-webkit-filter:invert(var(--USER__invertGaiji))!important;filter:invert(var(--USER__invertGaiji))!important}:root[style*=readium-invertGaiji-on] img[class*=gaiji]{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=readium-normalize-on]{--USER__typeScale:1.2}:root[style*=readium-normalize-on] p,:root[style*=readium-normalize-on] li,:root[style*=readium-normalize-on] div,:root[style*=readium-normalize-on] pre,:root[style*=readium-normalize-on] dd{font-size:1rem!important}:root[style*=readium-normalize-on] h1{font-size:1.75rem!important;font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h2{font-size:1.5rem!important;font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h3{font-size:1.25rem!important;font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h4,:root[style*=readium-normalize-on] h5,:root[style*=readium-normalize-on] h6{font-size:1rem!important}:root[style*=readium-normalize-on] small{font-size:smaller!important}:root[style*=readium-normalize-on] sub,:root[style*=readium-normalize-on] sup{font-size:67.5%!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h1{font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h2{font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h3{font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-iPadOSPatch-on] body{-webkit-text-size-adjust:none}:root[style*=readium-iPadOSPatch-on] p,:root[style*=readium-iPadOSPatch-on] h1,:root[style*=readium-iPadOSPatch-on] h2,:root[style*=readium-iPadOSPatch-on] h3,:root[style*=readium-iPadOSPatch-on] h4,:root[style*=readium-iPadOSPatch-on] h5,:root[style*=readium-iPadOSPatch-on] h6,:root[style*=readium-iPadOSPatch-on] li,:root[style*=readium-iPadOSPatch-on] th,:root[style*=readium-iPadOSPatch-on] td,:root[style*=readium-iPadOSPatch-on] dt,:root[style*=readium-iPadOSPatch-on] dd,:root[style*=readium-iPadOSPatch-on] pre,:root[style*=readium-iPadOSPatch-on] address,:root[style*=readium-iPadOSPatch-on] details,:root[style*=readium-iPadOSPatch-on] summary,:root[style*=readium-iPadOSPatch-on] figcaption,:root[style*=readium-iPadOSPatch-on] div:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)),:root[style*=readium-iPadOSPatch-on] aside:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)){-webkit-text-zoom:reset}:root[style*=readium-iPadOSPatch-on] abbr,:root[style*=readium-iPadOSPatch-on] b,:root[style*=readium-iPadOSPatch-on] bdi,:root[style*=readium-iPadOSPatch-on] bdo,:root[style*=readium-iPadOSPatch-on] cite,:root[style*=readium-iPadOSPatch-on] code,:root[style*=readium-iPadOSPatch-on] dfn,:root[style*=readium-iPadOSPatch-on] em,:root[style*=readium-iPadOSPatch-on] i,:root[style*=readium-iPadOSPatch-on] kbd,:root[style*=readium-iPadOSPatch-on] mark,:root[style*=readium-iPadOSPatch-on] q,:root[style*=readium-iPadOSPatch-on] rp,:root[style*=readium-iPadOSPatch-on] rt,:root[style*=readium-iPadOSPatch-on] ruby,:root[style*=readium-iPadOSPatch-on] s,:root[style*=readium-iPadOSPatch-on] samp,:root[style*=readium-iPadOSPatch-on] small,:root[style*=readium-iPadOSPatch-on] span,:root[style*=readium-iPadOSPatch-on] strong,:root[style*=readium-iPadOSPatch-on] sub,:root[style*=readium-iPadOSPatch-on] sup,:root[style*=readium-iPadOSPatch-on] time,:root[style*=readium-iPadOSPatch-on] u,:root[style*=readium-iPadOSPatch-on] var{-webkit-text-zoom:normal}:root[style*=readium-iPadOSPatch-on] p:not(:has(b,cite,em,i,q,s,small,span,strong)):first-line{-webkit-text-zoom:normal}`, Fn = `/*!
5939
+ * Readium CSS v.2.0.0-beta.20
5940
5940
  * Copyright (c) 2017–2025. Readium Foundation. All rights reserved.
5941
5941
  * Use of this source code is governed by a BSD-style license which is detailed in the
5942
5942
  * LICENSE file present in the project repository where this source code is maintained.
@@ -5949,7 +5949,7 @@ const er = En, In = `/*!
5949
5949
  * Mickaël Menu
5950
5950
  * k_taka
5951
5951
  */@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);@-ms-viewport{width:device-width}@viewport{width:device-width;zoom:1}:root{--RS__monospaceTf:ui-monospace, "Andale Mono", "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--RS__humanistTf:Seravek, Calibri, "Gill Sans Nova", Roboto, Ubuntu, "DejaVu Sans", source-sans-pro, sans-serif;--RS__sansTf:-ui-sans-serif, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Inter, Roboto, "Helvetica Neue", "Arial Nova", "Liberation Sans", Arial, sans-serif;--RS__modernTf:Athelas, Constantia, Charter, "Bitstream Charter", Cambria, "Georgia Pro", Georgia, serif;--RS__oldStyleTf:"Iowan Old Style", Sitka, "Sitka Text", Palatino, "Book Antiqua", "URW Palladio L", P052, serif;--RS__baseFontFamily:var(--RS__oldStyleTf);--RS__lineHeightCompensation:1;--RS__baseLineHeight:calc(1.5 * var(--RS__lineHeightCompensation));--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#551A8B;--RS__linkColor:#0000EE;--RS__textColor:#121212;--RS__backgroundColor:#FFFFFF;color:var(--RS__textColor)!important;background-color:var(--RS__backgroundColor)!important}::-moz-selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}::selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}html{font-family:var(--RS__baseFontFamily);line-height:1.6;line-height:var(--RS__baseLineHeight);text-rendering:optimizelegibility}h1,h2,h3{line-height:normal}:lang(ja),:lang(zh),:lang(ko){word-wrap:break-word;-webkit-line-break:strict;-epub-line-break:strict;line-break:strict}math{font-family:"Latin Modern Math","STIX Two Math","XITS Math","STIX Math","Libertinus Math","TeX Gyre Termes Math","TeX Gyre Bonum Math",TeX Gyre Schola,"DejaVu Math TeX Gyre","TeX Gyre Pagella Math","Asana Math","Cambria Math","Lucida Bright Math","Minion Math",STIXGeneral,STIXSizeOneSym,Symbol,Times New Roman,serif}:lang(am){--RS__baseFontFamily:kefa, nyala, roboto, noto, "Noto Sans Ethiopic", serif;--RS__lineHeightCompensation:1.167}:lang(ar){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(bn){--RS__baseFontFamily:"Kohinoor Bangla", "Bangla Sangam MN", vrinda, roboto, noto, "Noto Sans Bengali", sans-serif;--RS__lineHeightCompensation:1.067}:lang(bo){--RS__baseFontFamily:kailasa, "Microsoft Himalaya", roboto, noto, "Noto Sans Tibetan", sans-serif}:lang(chr){--RS__baseFontFamily:"Plantagenet Cherokee", roboto, noto, "Noto Sans Cherokee";--RS__lineHeightCompensation:1.167}:lang(fa){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(gu){--RS__baseFontFamily:"Gujarati Sangam MN", "Nirmala UI", shruti, roboto, noto, "Noto Sans Gujarati", sans-serif;--RS__lineHeightCompensation:1.167}:lang(he){--RS__baseFontFamily:"New Peninim MT", "Arial Hebrew", gisha, "Times New Roman", roboto, noto, "Noto Sans Hebrew" sans-serif;--RS__lineHeightCompensation:1.1}:lang(hi){--RS__baseFontFamily:"Kohinoor Devanagari", "Devanagari Sangam MN", kokila, "Nirmala UI", roboto, noto, "Noto Sans Devanagari", sans-serif;--RS__lineHeightCompensation:1.1}:lang(hy){--RS__baseFontFamily:mshtakan, sylfaen, roboto, noto, "Noto Serif Armenian", serif}:lang(iu){--RS__baseFontFamily:"Euphemia UCAS", euphemia, roboto, noto, "Noto Sans Canadian Aboriginal", sans-serif}:lang(ja){--RS__baseFontFamily:yugothic, "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo UI", "MS Gothic", roboto, noto, "Noto Sans CJK JP", sans-serif;--RS__lineHeightCompensation:1.167;--RS__serif-ja:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDPMincho", "Yu Mincho", "MS P明朝", "MS PMincho", serif;--RS__sans-serif-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDPGothic", "Yu Gothic", "MS Pゴシック", "MS PGothic", sans-serif;--RS__serif-ja-v:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDMincho", "Yu Mincho", "MS明朝", "MS Mincho", serif;--RS__sans-serif-ja-v:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDGothic", "Yu Gothic", "MSゴシック", "MS Gothic", sans-serif}:lang(km){--RS__baseFontFamily:"Khmer Sangam MN", "Leelawadee UI", "Khmer UI", roboto, noto, "Noto Sans Khmer", sans-serif;--RS__lineHeightCompensation:1.067}:lang(kn){--RS__baseFontFamily:"Kannada Sangam MN", "Nirmala UI", tunga, roboto, noto, "Noto Sans Kannada", sans-serif;--RS__lineHeightCompensation:1.1}:lang(ko){--RS__baseFontFamily:"Nanum Gothic", "Apple SD Gothic Neo", "Malgun Gothic", roboto, noto, "Noto Sans CJK KR", sans-serif;--RS__lineHeightCompensation:1.167}:lang(lo){--RS__baseFontFamily:"Lao Sangam MN", "Leelawadee UI", "Lao UI", roboto, noto, "Noto Sans Lao", sans-serif}:lang(ml){--RS__baseFontFamily:"Malayalam Sangam MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Malayalam", sans-serif;--RS__lineHeightCompensation:1.067}:lang(or){--RS__baseFontFamily:"Oriya Sangam MN", "Nirmala UI", kalinga, roboto, noto, "Noto Sans Oriya", sans-serif;--RS__lineHeightCompensation:1.167}:lang(pa){--RS__baseFontFamily:"Gurmukhi MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Gurmukhi", sans-serif;--RS__lineHeightCompensation:1.1}:lang(si){--RS__baseFontFamily:"Sinhala Sangam MN", "Nirmala UI", "Iskoola Pota", roboto, noto, "Noto Sans Sinhala", sans-serif;--RS__lineHeightCompensation:1.167}:lang(ta){--RS__baseFontFamily:"Tamil Sangam MN", "Nirmala UI", latha, roboto, noto, "Noto Sans Tamil", sans-serif;--RS__lineHeightCompensation:1.067}:lang(te){--RS__baseFontFamily:"Kohinoor Telugu", "Telugu Sangam MN", "Nirmala UI", gautami, roboto, noto, "Noto Sans Telugu", sans-serif}:lang(th){--RS__baseFontFamily:"Thonburi", "Leelawadee UI", "Cordia New", roboto, noto, "Noto Sans Thai", sans-serif;--RS__lineHeightCompensation:1.067}:lang(zh){--RS__baseFontFamily:"方体", "PingFang SC", "黑体", "Heiti SC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK SC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-Hant),:lang(zh-TW){--RS__baseFontFamily:"方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-HK){--RS__baseFontFamily:"方體", "PingFang HK", "方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Regular.woff2) format("woff2"),url(./assets/AccessibleDfA-Regular.woff) format("woff")}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:700;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Bold.woff2) format("woff2")}@font-face{font-family:AccessibleDfA;font-style:italic;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Italic.woff2) format("woff2")}@font-face{font-family:IA Writer Duospace;font-style:normal;font-weight:400;src:local("iAWriterDuospace-Regular"),url(./assets/iAWriterDuospace-Regular.ttf) format("truetype")}body{widows:2;orphans:2}figcaption,th,td{widows:1;orphans:1}h2,h3,h4,h5,h6,dt,hr,caption{-webkit-column-break-after:avoid;page-break-after:avoid;break-after:avoid}h1,h2,h3,h4,h5,h6,dt,figure,tr{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}body{-webkit-hyphenate-character:"-";-moz-hyphenate-character:"-";-ms-hyphenate-character:"-";hyphenate-character:"-";-webkit-hyphenate-limit-lines:3;-ms-hyphenate-limit-lines:3;hyphenate-limit-lines:3}h1,h2,h3,h4,h5,h6,dt,figcaption,pre,caption,address,center,code,var{-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;-epub-hyphens:none;hyphens:none}body{font-variant-numeric:oldstyle-nums proportional-nums}:lang(ja) body,:lang(zh) body,:lang(ko) body{font-variant-numeric:lining-nums proportional-nums}h1,h2,h3,h4,h5,h6,dt{font-variant-numeric:lining-nums proportional-nums}table{font-variant-numeric:lining-nums tabular-nums}code,var{font-variant-ligatures:none;font-variant-numeric:lining-nums tabular-nums slashed-zero}rt{font-variant-east-asian:ruby}:lang(ar){font-variant-ligatures:common-ligatures}:lang(ko){font-kerning:normal}hr{color:inherit;border-color:currentcolor}table,th,td{border-color:currentcolor}figure,blockquote{margin:1em 5%}ul,ol{padding-left:5%}dd{margin-left:5%}pre{white-space:pre-wrap;-ms-tab-size:2;-moz-tab-size:2;-webkit-tab-size:2;tab-size:2}abbr[title],acronym[title]{text-decoration:dotted underline}nobr wbr{white-space:normal}ruby>rt,ruby>rp{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)),*:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)),*:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)),:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) cite,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) dfn,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) em,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) i,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) cite,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) dfn,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) em,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) i,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) cite,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) dfn,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) em,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) i{font-style:normal}:lang(ja) a,:lang(zh) a,:lang(ko) a{text-decoration:none}:root{--RS__maxMediaWidth:100%;--RS__maxMediaHeight:95vh;--RS__boxSizingMedia:border-box;--RS__boxSizingTable:border-box}a,a span,span a,h1,h2,h3,h4,h5,h6{word-wrap:break-word}div{max-width:var(--RS__maxMediaWidth)}img,svg|svg,video{object-fit:contain;width:auto;height:auto;max-width:var(--RS__maxMediaWidth);max-height:var(--RS__maxMediaHeight)!important;box-sizing:var(--RS__boxSizingMedia);-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}audio{max-width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}table{max-width:var(--RS__maxMediaWidth);box-sizing:var(--RS__boxSizingTable)}`, yn = `/*!
5952
- * Readium CSS v.2.0.0-beta.19
5952
+ * Readium CSS v.2.0.0-beta.20
5953
5953
  * Copyright (c) 2017–2025. Readium Foundation. All rights reserved.
5954
5954
  * Use of this source code is governed by a BSD-style license which is detailed in the
5955
5955
  * LICENSE file present in the project repository where this source code is maintained.
@@ -1,24 +1,18 @@
1
1
  (function(B,j){typeof exports=="object"&&typeof module<"u"?j(exports):typeof define=="function"&&define.amd?define(["exports"],j):(B=typeof globalThis<"u"?globalThis:B||self,j(B.navigator={}))})(this,(function(B){"use strict";const j=class Bt{constructor(t){if(typeof t=="string"){if(!Bt.VALID_MODES.has(t.toLowerCase()))return;this.value=t.toLowerCase()}else{const e=t.filter(i=>Bt.VALID_MODES.has(i.toLowerCase()));if(e.length===0)return;this.value=Array.from(new Set(e))}}static deserialize(t){if(!t)return;if(typeof t=="string")return new Bt(t);if(!Array.isArray(t))return;const e=t.filter(i=>i?Bt.VALID_MODES.has(i.toLowerCase()):!1);if(e.length!==0)return new Bt(e)}serialize(){return this.value}};j.VALID_MODES=new Set(["auditory","tactile","textual","visual"]),j.AUDITORY=new j("auditory"),j.TACTILE=new j("tactile"),j.TEXTUAL=new j("textual"),j.VISUAL=new j("visual");const p=class BA{constructor(t){this.value=t}static deserialize(t){if(!(!t||typeof t!="string"))return new BA(t)}serialize(){return this.value}};p.NONE=new p("none"),p.ANNOTATIONS=new p("annotations"),p.ARIA=new p("ARIA"),p.INDEX=new p("index"),p.PAGE_BREAK_MARKERS=new p("pageBreakMarkers"),p.PAGE_NAVIGATION=new p("pageNavigation"),p.PRINT_PAGE_NUMBERS=new p("printPageNumbers"),p.READING_ORDER=new p("readingOrder"),p.STRUCTURAL_NAVIGATION=new p("structuralNavigation"),p.TABLE_OF_CONTENTS=new p("tableOfContents"),p.TAGGED_PDF=new p("taggedPDF"),p.ALTERNATIVE_TEXT=new p("alternativeText"),p.AUDIO_DESCRIPTION=new p("audioDescription"),p.CAPTIONS=new p("captions"),p.CLOSED_CAPTIONS=new p("closedCaptions"),p.DESCRIBED_MATH=new p("describedMath"),p.LONG_DESCRIPTION=new p("longDescription"),p.OPEN_CAPTIONS=new p("openCaptions"),p.SIGN_LANGUAGE=new p("signLanguage"),p.TRANSCRIPT=new p("transcript"),p.DISPLAY_TRANSFORMABILITY=new p("displayTransformability"),p.SYNCHRONIZED_AUDIO_TEXT=new p("synchronizedAudioText"),p.TIMING_CONTROL=new p("timingControl"),p.UNLOCKED=new p("unlocked"),p.CHEM_ML=new p("ChemML"),p.LATEX=new p("latex"),p.LATEX_CHEMISTRY=new p("latex-chemistry"),p.MATH_ML=new p("MathML"),p.MATH_ML_CHEMISTRY=new p("MathML-chemistry"),p.TTS_MARKUP=new p("ttsMarkup"),p.HIGH_CONTRAST_AUDIO=new p("highContrastAudio"),p.HIGH_CONTRAST_DISPLAY=new p("highContrastDisplay"),p.LARGE_PRINT=new p("largePrint"),p.BRAILLE=new p("braille"),p.TACTILE_GRAPHIC=new p("tactileGraphic"),p.TACTILE_OBJECT=new p("tactileObject"),p.FULL_RUBY_ANNOTATIONS=new p("fullRubyAnnotations"),p.HORIZONTAL_WRITING=new p("horizontalWriting"),p.RUBY_ANNOTATIONS=new p("rubyAnnotations"),p.VERTICAL_WRITING=new p("verticalWriting"),p.WITH_ADDITIONAL_WORD_SEGMENTATION=new p("withAdditionalWordSegmentation"),p.WITHOUT_ADDITIONAL_WORD_SEGMENTATION=new p("withoutAdditionalWordSegmentation");let ve=p;var w=(r=>(r.reflowable="reflowable",r.fixed="fixed",r.scrolled="scrolled",r))(w||{});class _t{constructor(t){this.algorithm=t.algorithm,this.compression=t.compression,this.originalLength=t.originalLength,this.profile=t.profile,this.scheme=t.scheme}static deserialize(t){if(t&&t.algorithm)return new _t({algorithm:t.algorithm,compression:t.compression,originalLength:t.originalLength,profile:t.profile,scheme:t.scheme})}serialize(){const t={algorithm:this.algorithm};return this.compression!==void 0&&(t.compression=this.compression),this.originalLength!==void 0&&(t.originalLength=this.originalLength),this.profile!==void 0&&(t.profile=this.profile),this.scheme!==void 0&&(t.scheme=this.scheme),t}}var G=(r=>(r.left="left",r.right="right",r.center="center",r))(G||{});let k=class Te{constructor(t){this.otherProperties=t}get page(){return this.otherProperties.page}static deserialize(t){if(t)return new Te(t)}serialize(){return this.otherProperties}add(t){const e=Object.assign({},this.otherProperties);for(const i in t)e[i]=t[i];return new Te(e)}};Object.defineProperty(k.prototype,"encryption",{get:function(){return _t.deserialize(this.otherProperties.encrypted)}});function yA(r){return r&&Array.isArray(r)?r:void 0}function De(r){return r&&typeof r=="string"?[r]:yA(r)}function He(r){return typeof r=="string"?new Date(r):void 0}function xt(r){return isNaN(r)?void 0:r}function x(r){return xt(r)!==void 0&&Math.sign(r)>=0?r:void 0}function UA(r){const t=new Array;return r.forEach(e=>t.push(e)),t}class d{constructor(t){let e,i,A=t.mediaType.replace(/\s/g,"").split(";");const n=A[0].split("/");if(n.length===2){if(e=n[0].toLowerCase().trim(),i=n[1].toLowerCase().trim(),e.length===0||i.length===0)throw new Error("Invalid media type")}else throw new Error("Invalid media type");const s={};for(let u=1;u<A.length;u++){const M=A[u].split("=");if(M.length===2){const l=M[0].toLocaleLowerCase(),f=l==="charset"?M[1].toUpperCase():M[1];s[l]=f}}const o={},a=Object.keys(s);a.sort((u,M)=>u.localeCompare(M)),a.forEach(u=>o[u]=s[u]);let h="";for(const u in o){const M=o[u];h+=`;${u}=${M}`}const c=`${e}/${i}${h}`,g=o.encoding;this.string=c,this.type=e,this.subtype=i,this.parameters=o,this.encoding=g,this.name=t.name,this.fileExtension=t.fileExtension}static parse(t){return new d(t)}get structuredSyntaxSuffix(){const t=this.subtype.split("+");return t.length>1?`+${t[t.length-1]}`:void 0}get charset(){return this.parameters.charset}contains(t){const e=typeof t=="string"?d.parse({mediaType:t}):t;if(!((this.type==="*"||this.type===e.type)&&(this.subtype==="*"||this.subtype===e.subtype)))return!1;const i=new Set(Object.entries(this.parameters).map(([n,s])=>`${n}=${s}`)),A=new Set(Object.entries(e.parameters).map(([n,s])=>`${n}=${s}`));for(const n of Array.from(i.values()))if(!A.has(n))return!1;return!0}matches(t){const e=typeof t=="string"?d.parse({mediaType:t}):t;return this.contains(e)||e.contains(this)}matchesAny(...t){for(const e of t)if(this.matches(e))return!0;return!1}equals(t){return this.string===t.string}get isZIP(){return this.matchesAny(d.ZIP,d.LCP_PROTECTED_AUDIOBOOK,d.LCP_PROTECTED_PDF)||this.structuredSyntaxSuffix==="+zip"}get isJSON(){return this.matchesAny(d.JSON)||this.structuredSyntaxSuffix==="+json"}get isOPDS(){return this.matchesAny(d.OPDS1,d.OPDS1_ENTRY,d.OPDS2,d.OPDS2_PUBLICATION,d.OPDS_AUTHENTICATION)||this.structuredSyntaxSuffix==="+json"}get isHTML(){return this.matchesAny(d.HTML,d.XHTML)}get isBitmap(){return this.matchesAny(d.BMP,d.GIF,d.JPEG,d.PNG,d.TIFF,d.WEBP)}get isAudio(){return this.type==="audio"}get isVideo(){return this.type==="video"}get isRWPM(){return this.matchesAny(d.READIUM_AUDIOBOOK_MANIFEST,d.DIVINA_MANIFEST,d.READIUM_WEBPUB_MANIFEST)}get isPublication(){return this.matchesAny(d.READIUM_AUDIOBOOK,d.READIUM_AUDIOBOOK_MANIFEST,d.CBZ,d.DIVINA,d.DIVINA_MANIFEST,d.EPUB,d.LCP_PROTECTED_AUDIOBOOK,d.LCP_PROTECTED_PDF,d.LPF,d.PDF,d.W3C_WPUB_MANIFEST,d.READIUM_WEBPUB,d.READIUM_WEBPUB_MANIFEST,d.ZAB)}static get AAC(){return d.parse({mediaType:"audio/aac",fileExtension:"aac"})}static get ACSM(){return d.parse({mediaType:"application/vnd.adobe.adept+xml",name:"Adobe Content Server Message",fileExtension:"acsm"})}static get AIFF(){return d.parse({mediaType:"audio/aiff",fileExtension:"aiff"})}static get AVI(){return d.parse({mediaType:"video/x-msvideo",fileExtension:"avi"})}static get BINARY(){return d.parse({mediaType:"application/octet-stream"})}static get BMP(){return d.parse({mediaType:"image/bmp",fileExtension:"bmp"})}static get CBZ(){return d.parse({mediaType:"application/vnd.comicbook+zip",name:"Comic Book Archive",fileExtension:"cbz"})}static get CSS(){return d.parse({mediaType:"text/css",fileExtension:"css"})}static get DIVINA(){return d.parse({mediaType:"application/divina+zip",name:"Digital Visual Narratives",fileExtension:"divina"})}static get DIVINA_MANIFEST(){return d.parse({mediaType:"application/divina+json",name:"Digital Visual Narratives",fileExtension:"json"})}static get EPUB(){return d.parse({mediaType:"application/epub+zip",name:"EPUB",fileExtension:"epub"})}static get GIF(){return d.parse({mediaType:"image/gif",fileExtension:"gif"})}static get GZ(){return d.parse({mediaType:"application/gzip",fileExtension:"gz"})}static get HTML(){return d.parse({mediaType:"text/html",fileExtension:"html"})}static get JAVASCRIPT(){return d.parse({mediaType:"text/javascript",fileExtension:"js"})}static get JPEG(){return d.parse({mediaType:"image/jpeg",fileExtension:"jpeg"})}static get JSON(){return d.parse({mediaType:"application/json"})}static get LCP_LICENSE_DOCUMENT(){return d.parse({mediaType:"application/vnd.readium.lcp.license.v1.0+json",name:"LCP License",fileExtension:"lcpl"})}static get LCP_PROTECTED_AUDIOBOOK(){return d.parse({mediaType:"application/audiobook+lcp",name:"LCP Protected Audiobook",fileExtension:"lcpa"})}static get LCP_PROTECTED_PDF(){return d.parse({mediaType:"application/pdf+lcp",name:"LCP Protected PDF",fileExtension:"lcpdf"})}static get LCP_STATUS_DOCUMENT(){return d.parse({mediaType:"application/vnd.readium.license.status.v1.0+json"})}static get LPF(){return d.parse({mediaType:"application/lpf+zip",fileExtension:"lpf"})}static get MP3(){return d.parse({mediaType:"audio/mpeg",fileExtension:"mp3"})}static get MPEG(){return d.parse({mediaType:"video/mpeg",fileExtension:"mpeg"})}static get NCX(){return d.parse({mediaType:"application/x-dtbncx+xml",fileExtension:"ncx"})}static get OGG(){return d.parse({mediaType:"audio/ogg",fileExtension:"oga"})}static get OGV(){return d.parse({mediaType:"video/ogg",fileExtension:"ogv"})}static get OPDS1(){return d.parse({mediaType:"application/atom+xml;profile=opds-catalog"})}static get OPDS1_ENTRY(){return d.parse({mediaType:"application/atom+xml;type=entry;profile=opds-catalog"})}static get OPDS2(){return d.parse({mediaType:"application/opds+json"})}static get OPDS2_PUBLICATION(){return d.parse({mediaType:"application/opds-publication+json"})}static get OPDS_AUTHENTICATION(){return d.parse({mediaType:"application/opds-authentication+json"})}static get OPUS(){return d.parse({mediaType:"audio/opus",fileExtension:"opus"})}static get OTF(){return d.parse({mediaType:"font/otf",fileExtension:"otf"})}static get PDF(){return d.parse({mediaType:"application/pdf",name:"PDF",fileExtension:"pdf"})}static get PNG(){return d.parse({mediaType:"image/png",fileExtension:"png"})}static get READIUM_AUDIOBOOK(){return d.parse({mediaType:"application/audiobook+zip",name:"Readium Audiobook",fileExtension:"audiobook"})}static get READIUM_AUDIOBOOK_MANIFEST(){return d.parse({mediaType:"application/audiobook+json",name:"Readium Audiobook",fileExtension:"json"})}static get READIUM_CONTENT_DOCUMENT(){return d.parse({mediaType:"application/vnd.readium.content+json",name:"Readium Content Document",fileExtension:"json"})}static get READIUM_GUIDED_NAVIGATION_DOCUMENT(){return d.parse({mediaType:"application/guided-navigation+json",name:"Readium Guided Navigation Document",fileExtension:"json"})}static get READIUM_POSITION_LIST(){return d.parse({mediaType:"application/vnd.readium.position-list+json",name:"Readium Position List",fileExtension:"json"})}static get READIUM_WEBPUB(){return d.parse({mediaType:"application/webpub+zip",name:"Readium Web Publication",fileExtension:"webpub"})}static get READIUM_WEBPUB_MANIFEST(){return d.parse({mediaType:"application/webpub+json",name:"Readium Web Publication",fileExtension:"json"})}static get SMIL(){return d.parse({mediaType:"application/smil+xml",fileExtension:"smil"})}static get SVG(){return d.parse({mediaType:"image/svg+xml",fileExtension:"svg"})}static get TEXT(){return d.parse({mediaType:"text/plain",fileExtension:"txt"})}static get TIFF(){return d.parse({mediaType:"image/tiff",fileExtension:"tiff"})}static get TTF(){return d.parse({mediaType:"font/ttf",fileExtension:"ttf"})}static get W3C_WPUB_MANIFEST(){return d.parse({mediaType:"application/x.readium.w3c.wpub+json",name:"Web Publication",fileExtension:"json"})}static get WAV(){return d.parse({mediaType:"audio/wav",fileExtension:"wav"})}static get WEBM_AUDIO(){return d.parse({mediaType:"audio/webm",fileExtension:"webm"})}static get WEBM_VIDEO(){return d.parse({mediaType:"video/webm",fileExtension:"webm"})}static get WEBP(){return d.parse({mediaType:"image/webp",fileExtension:"webp"})}static get WOFF(){return d.parse({mediaType:"font/woff",fileExtension:"woff"})}static get WOFF2(){return d.parse({mediaType:"font/woff2",fileExtension:"woff2"})}static get XHTML(){return d.parse({mediaType:"application/xhtml+xml",fileExtension:"xhtml"})}static get XML(){return d.parse({mediaType:"application/xml",fileExtension:"xml"})}static get ZAB(){return d.parse({mediaType:"application/x.readium.zab+zip",name:"Zipped Audio Book",fileExtension:"zab"})}static get ZIP(){return d.parse({mediaType:"application/zip",fileExtension:"zip"})}}let Ge=class{constructor(t){this.uri=t,this.parameters=this.getParameters(t)}getParameters(t){const e=/\{\??([^}]+)\}/g,i=t.match(e);return i?new Set(i.join(",").replace(e,"$1").split(",").map(A=>A.trim())):new Set}expand(t){const e=A=>A.split(",").map(n=>{const s=t[n];return s?encodeURIComponent(s):""}).join(","),i=A=>"?"+A.split(",").map(n=>{const s=n.split("=")[0],o=t[s];return o?`${s}=${encodeURIComponent(o)}`:""}).join("&");return this.uri.replace(/\{(\??)([^}]+)\}/g,(...A)=>A[1]?i(A[2]):e(A[2]))}},V=class wA{constructor(t){this.fragments=t.fragments?t.fragments:new Array,this.progression=t.progression,this.totalProgression=t.totalProgression,this.position=t.position,this.otherLocations=t.otherLocations}static deserialize(t){if(!t)return;const e=xt(t.progression),i=xt(t.totalProgression),A=xt(t.position),n=new Map,s=new Set(["fragment","fragments","progression","totalProgression","position"]);return Object.entries(t).forEach(([o,a])=>{s.has(o)||n.set(o,a)}),new wA({fragments:De(t.fragments||t.fragment),progression:e!==void 0&&e>=0&&e<=1?e:void 0,totalProgression:i!==void 0&&i>=0&&i<=1?i:void 0,position:A!==void 0&&A>0?A:void 0,otherLocations:n.size===0?void 0:n})}serialize(){const t={};return this.fragments&&(t.fragments=this.fragments),this.progression!==void 0&&(t.progression=this.progression),this.totalProgression!==void 0&&(t.totalProgression=this.totalProgression),this.position!==void 0&&(t.position=this.position),this.otherLocations&&this.otherLocations.forEach((e,i)=>t[i]=e),t}},RA=class EA{constructor(t){this.after=t.after,this.before=t.before,this.highlight=t.highlight}static deserialize(t){if(t)return new EA({after:t.after,before:t.before,highlight:t.highlight})}serialize(){const t={};return this.after!==void 0&&(t.after=this.after),this.before!==void 0&&(t.before=this.before),this.highlight!==void 0&&(t.highlight=this.highlight),t}},at=class be{constructor(t){this.href=t.href,this.type=t.type,this.title=t.title,this.locations=t.locations?t.locations:new V({}),this.text=t.text}static deserialize(t){if(t&&t.href&&t.type)return new be({href:t.href,type:t.type,title:t.title,locations:V.deserialize(t.locations),text:RA.deserialize(t.text)})}serialize(){const t={href:this.href,type:this.type};return this.title!==void 0&&(t.title=this.title),this.locations&&(t.locations=this.locations.serialize()),this.text&&(t.text=this.text.serialize()),t}copyWithLocations(t){return new be({href:this.href,type:this.type,title:this.title,text:this.text,locations:new V({...this.locations,...t})})}},q=class Kt{constructor(t){this.href=t.href,this.templated=t.templated,this.type=t.type,this.title=t.title,this.rels=t.rels,this.properties=t.properties,this.height=t.height,this.width=t.width,this.size=t.size,this.duration=t.duration,this.bitrate=t.bitrate,this.languages=t.languages,this.alternates=t.alternates,this.children=t.children}static deserialize(t){if(!(!t||typeof t.href!="string"))return new Kt({href:t.href,templated:t.templated,type:t.type,title:t.title,rels:t.rel?Array.isArray(t.rel)?new Set(t.rel):new Set([t.rel]):void 0,properties:k.deserialize(t.properties),height:x(t.height),width:x(t.width),size:x(t.size),duration:x(t.duration),bitrate:x(t.bitrate),languages:De(t.language),alternates:ke.deserialize(t.alternate),children:ke.deserialize(t.children)})}serialize(){const t={href:this.href};return this.templated!==void 0&&(t.templated=this.templated),this.type!==void 0&&(t.type=this.type),this.title!==void 0&&(t.title=this.title),this.rels&&(t.rel=UA(this.rels)),this.properties&&(t.properties=this.properties.serialize()),this.height!==void 0&&(t.height=this.height),this.width!==void 0&&(t.width=this.width),this.size!==void 0&&(t.size=this.size),this.duration!==void 0&&(t.duration=this.duration),this.bitrate!==void 0&&(t.bitrate=this.bitrate),this.languages&&(t.language=this.languages),this.alternates&&(t.alternate=this.alternates.serialize()),this.children&&(t.children=this.children.serialize()),t}get mediaType(){return this.type!==void 0?d.parse({mediaType:this.type}):d.BINARY}toURL(t){const e=this.href.replace(/^(\/)/,"");if(e.length===0)return;let i=t||"/";return i.startsWith("/")&&(i="file://"+i),new URL(e,i).href.replace(/^(file:\/\/)/,"")}get templateParameters(){return this.templated?new Ge(this.href).parameters:new Set}expandTemplate(t){return new Kt({href:new Ge(this.href).expand(t),templated:!1})}addProperties(t){const e=Kt.deserialize(this.serialize());return e.properties=e.properties?e.properties?.add(t):new k(t),e}get locator(){let t=this.href.split("#");return new at({href:t.length>0&&t[0]!==void 0?t[0]:this.href,type:this.type??"",title:this.title,locations:new V({fragments:t.length>1&&t[1]!==void 0?[t[1]]:[]})})}},ke=class IA{constructor(t){this.items=t}static deserialize(t){if(t&&Array.isArray(t))return new IA(t.map(e=>q.deserialize(e)).filter(e=>e!==void 0))}serialize(){return this.items.map(t=>t.serialize())}findWithRel(t){const e=i=>i.rels&&i.rels.has(t);return this.items.find(e)}filterByRel(t){const e=i=>i.rels&&i.rels.has(t);return this.items.filter(e)}findWithHref(t){const e=i=>i.href===t;return this.items.find(e)}findIndexWithHref(t){const e=i=>i.href===t;return this.items.findIndex(e)}findWithMediaType(t){const e=i=>i.mediaType.matches(t);return this.items.find(e)}filterByMediaType(t){const e=i=>i.mediaType.matches(t);return this.items.filter(e)}filterByMediaTypes(t){const e=i=>{for(const A of t)if(i.mediaType.matches(A))return!0;return!1};return this.items.filter(e)}everyIsAudio(){const t=e=>e.mediaType.isAudio;return this.items.length>0&&this.items.every(t)}everyIsBitmap(){const t=e=>e.mediaType.isBitmap;return this.items.length>0&&this.items.every(t)}everyIsHTML(){const t=e=>e.mediaType.isHTML;return this.items.length>0&&this.items.every(t)}everyIsVideo(){const t=e=>e.mediaType.isVideo;return this.items.length>0&&this.items.every(t)}everyMatchesMediaType(t){return Array.isArray(t)?this.items.length>0&&this.items.every(e=>{for(const i of t)return e.mediaType.matches(i);return!1}):this.items.length>0&&this.items.every(e=>e.mediaType.matches(t))}filterLinksHasType(){return this.items.filter(t=>t.type)}};var Je=(r=>(r.EPUB="https://readium.org/webpub-manifest/profiles/epub",r.AUDIOBOOK="https://readium.org/webpub-manifest/profiles/audiobook",r.DIVINA="https://readium.org/webpub-manifest/profiles/divina",r.PDF="https://readium.org/webpub-manifest/profiles/pdf",r))(Je||{}),Y=(r=>(r.ltr="ltr",r.rtl="rtl",r))(Y||{});k.prototype.getContains=function(){return new Set(this.otherProperties.contains||[])};let We=class FA{constructor(t){this.cssSelector=t.cssSelector,this.textNodeIndex=t.textNodeIndex,this.charOffset=t.charOffset}static deserialize(t){if(!(t&&t.cssSelector))return;let e=x(t.textNodeIndex);if(e===void 0)return;let i=x(t.charOffset);return i===void 0&&(i=x(t.offset)),new FA({cssSelector:t.cssSelector,textNodeIndex:e,charOffset:i})}serialize(){const t={cssSelector:this.cssSelector,textNodeIndex:this.textNodeIndex};return this.charOffset!==void 0&&(t.charOffset=this.charOffset),t}};class $t{constructor(t){this.start=t.start,this.end=t.end}static deserialize(t){if(!t)return;let e=We.deserialize(t.start);if(e)return new $t({start:e,end:We.deserialize(t.end)})}serialize(){const t={start:this.start.serialize()};return this.end&&(t.end=this.end.serialize()),t}}V.prototype.getCssSelector=function(){return this.otherLocations?.get("cssSelector")},V.prototype.getPartialCfi=function(){return this.otherLocations?.get("partialCfi")},V.prototype.getDomRange=function(){return $t.deserialize(this.otherLocations?.get("domRange"))},V.prototype.fragmentParameters=function(){return new Map(this.fragments.map(r=>r.startsWith("#")?r.slice(1):r).join("&").split("&").filter(r=>!r.startsWith("#")).map(r=>r.split("=")).filter(r=>r.length===2).map(r=>[r[0].trim().toLowerCase(),r[1].trim()]))},V.prototype.htmlId=function(){if(!this.fragments.length)return;let r=this.fragments.find(t=>t.length&&!t.includes("="));if(!r){const t=this.fragmentParameters();t.has("id")?r=t.get("id"):t.has("name")&&(r=t.get("name"))}return r?.startsWith("#")?r.slice(1):r},V.prototype.page=function(){const r=parseInt(this.fragmentParameters().get("page"));if(!isNaN(r)&&r>=0)return r},V.prototype.time=function(){const r=parseInt(this.fragmentParameters().get("t"));if(!isNaN(r))return r},V.prototype.space=function(){const r=this.fragmentParameters();if(!r.has("xywh"))return;const t=r.get("xywh").split(",").map(e=>parseInt(e));if(t.length===4&&!t.some(isNaN))return t};class te{constructor(t){this.currency=t.currency,this.value=t.value}static deserialize(t){if(!t)return;let e=t.currency;if(!(e&&typeof e=="string"&&e.length>0))return;let i=x(t.value);if(i!==void 0)return new te({currency:e,value:i})}serialize(){return{currency:this.currency,value:this.value}}}let CA=class qt{constructor(t){this.type=t.type,this.children=t.children}static deserialize(t){if(t&&t.type)return new qt({type:t.type,children:qt.deserializeArray(t.children)})}static deserializeArray(t){if(Array.isArray(t))return t.map(e=>qt.deserialize(e)).filter(e=>e!==void 0)}serialize(){const t={type:this.type};return this.children&&(t.children=this.children.map(e=>e.serialize())),t}};class ee{constructor(t){this.total=t.total,this.position=t.position}static deserialize(t){if(t)return new ee({total:x(t.total),position:x(t.position)})}serialize(){const t={};return this.total!==void 0&&(t.total=this.total),this.position!==void 0&&(t.position=this.position),t}}class ie{constructor(t){this.total=t.total,this.available=t.available}static deserialize(t){if(t)return new ie({total:x(t.total),available:x(t.available)})}serialize(){const t={};return this.total!==void 0&&(t.total=this.total),this.available!==void 0&&(t.available=this.available),t}}class Ae{constructor(t){this.state=t.state,this.since=t.since,this.until=t.until}static deserialize(t){if(t&&t.state)return new Ae({state:t.state,since:He(t.since),until:He(t.until)})}serialize(){const t={state:this.state};return this.since!==void 0&&(t.since=this.since.toISOString()),this.until!==void 0&&(t.until=this.until.toISOString()),t}}k.prototype.getNumberOfItems=function(){return x(this.otherProperties.numberOfItems)},k.prototype.getPrice=function(){return te.deserialize(this.otherProperties.price)},k.prototype.getIndirectAcquisitions=function(){const r=this.otherProperties.indirectAcquisition;if(r&&Array.isArray(r))return r.map(t=>CA.deserialize(t)).filter(t=>t!==void 0)},k.prototype.getHolds=function(){return ee.deserialize(this.otherProperties.holds)},k.prototype.getCopies=function(){return ie.deserialize(this.otherProperties.copies)},k.prototype.getAvailability=function(){return Ae.deserialize(this.otherProperties.availability)},k.prototype.getAuthenticate=function(){return q.deserialize(this.otherProperties.authenticate)};const SA="CssSelectorGenerator";function Le(r="unknown problem",...t){console.warn(`${SA}: ${r}`,...t)}function QA(r){return r instanceof RegExp}function zA(r){return r.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".+")}function YA(r){const t=r.map(e=>{if(QA(e))return i=>e.test(i);if(typeof e=="function")return i=>{const A=e(i);return typeof A!="boolean"?(Le("pattern matcher function invalid","Provided pattern matching function does not return boolean. It's result will be ignored.",e),!1):A};if(typeof e=="string"){const i=new RegExp("^"+zA(e)+"$");return A=>i.test(A)}return Le("pattern matcher invalid","Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.",e),()=>!1});return e=>t.some(i=>i(e))}YA(["class","id","ng-*"]);class Oe{}class ne extends Oe{goLeft(t=!1,e){this.readingProgression===Y.ltr?this.goBackward(t,e):this.readingProgression===Y.rtl&&this.goForward(t,e)}goRight(t=!1,e){this.readingProgression===Y.ltr?this.goForward(t,e):this.readingProgression===Y.rtl&&this.goBackward(t,e)}}const Xe=`
2
- /* FontFamily */
3
-
4
- :root[style*="--USER__fontFamily"] {
5
- font-family: var(--USER__fontFamily) !important;
6
- }
7
-
8
- :root[style*="--USER__fontFamily"] * {
9
- font-family: revert !important;
10
- }
11
-
12
- /* FontWeight */
2
+ /* TextAlign */
13
3
 
14
- :root[style*="--USER__fontWeight"] body {
15
- font-weight: var(--USER__fontWeight) !important;
4
+ :root[style*="--USER__textAlign"] {
5
+ text-align: var(--USER__textAlign);
16
6
  }
17
7
 
18
- /* Attempt to handle known bolds */
19
- :root[style*="--USER__fontWeight"] b,
20
- :root[style*="--USER__fontWeight"] strong {
21
- font-weight: bolder;
8
+ :root[style*="--USER__textAlign"] body,
9
+ :root[style*="--USER__textAlign"] p:not([class*="title"]):not(blockquote p):not(figcaption p):not(header p):not(hgroup p):not(div:has(+ *) > h1 + p):not(div:has(+ *) > p:has(+ h1)),
10
+ :root[style*="--USER__textAlign"] li,
11
+ :root[style*="--USER__textAlign"] dd {
12
+ text-align: var(--USER__textAlign) !important;
13
+ -moz-text-align-last: auto !important;
14
+ -epub-text-align-last: auto !important;
15
+ text-align-last: auto !important;
22
16
  }
23
17
 
24
18
  /* Hyphens */
@@ -43,84 +37,14 @@
43
37
  hyphens: inherit;
44
38
  }
45
39
 
46
- /* LetterSpacing */
47
-
48
- :root[style*="--USER__letterSpacing"] h1,
49
- :root[style*="--USER__letterSpacing"] h2,
50
- :root[style*="--USER__letterSpacing"] h3,
51
- :root[style*="--USER__letterSpacing"] h4,
52
- :root[style*="--USER__letterSpacing"] h5,
53
- :root[style*="--USER__letterSpacing"] h6,
54
- :root[style*="--USER__letterSpacing"] p,
55
- :root[style*="--USER__letterSpacing"] li,
56
- :root[style*="--USER__letterSpacing"] div,
57
- :root[style*="--USER__letterSpacing"] dt,
58
- :root[style*="--USER__letterSpacing"] dd {
59
- letter-spacing: var(--USER__letterSpacing);
60
- font-variant: none;
61
- }
62
-
63
- /* Ligatures */
64
-
65
- :root[style*="--USER__ligatures"] {
66
- font-variant-ligatures: var(--USER__ligatures) !important;
67
- }
68
-
69
- :root[style*="--USER__ligatures"] * {
70
- font-variant-ligatures: inherit !important;
71
- }
72
-
73
- /* LineHeight */
74
-
75
- :root[style*="--USER__lineHeight"] {
76
- line-height: var(--USER__lineHeight) !important;
77
- }
78
-
79
- :root[style*="--USER__lineHeight"] body,
80
- :root[style*="--USER__lineHeight"] p,
81
- :root[style*="--USER__lineHeight"] li,
82
- :root[style*="--USER__lineHeight"] div {
83
- line-height: inherit;
84
- }
85
-
86
- /* ParagraphIndent */
87
-
88
- :root[style*="--USER__paraIndent"] p {
89
- text-indent: var(--USER__paraIndent) !important;
90
- }
91
-
92
- :root[style*="--USER__paraIndent"] p *,
93
- :root[style*="--USER__paraIndent"] p:first-letter {
94
- text-indent: 0 !important;
95
- }
96
-
97
- /* ParagraphSpacing */
98
-
99
- :root[style*="--USER__paraSpacing"] p {
100
- margin-block: var(--USER__paraSpacing) !important;
101
- }
102
-
103
- /* Ruby */
104
-
105
- :root[style*="readium-noRuby-on"] body rt,
106
- :root[style*="readium-noRuby-on"] body rp {
107
- display: none;
108
- }
109
-
110
- /* TextAlign */
40
+ /* FontFamily */
111
41
 
112
- :root[style*="--USER__textAlign"] {
113
- text-align: var(--USER__textAlign);
42
+ :root[style*="--USER__fontFamily"] {
43
+ font-family: var(--USER__fontFamily) !important;
114
44
  }
115
45
 
116
- :root[style*="--USER__textAlign"] body,
117
- :root[style*="--USER__textAlign"] p:not(blockquote p):not(figcaption p):not(hgroup p),
118
- :root[style*="--USER__textAlign"] li,
119
- :root[style*="--USER__textAlign"] dd {
120
- text-align: var(--USER__textAlign) !important;
121
- -moz-text-align-last: auto !important;
122
- -epub-text-align-last: auto !important;
123
- text-align-last: auto !important;
46
+ :root[style*="--USER__fontFamily"] * {
47
+ font-family: revert !important;
124
48
  }
125
49
 
126
50
  /* TextNormalize */
@@ -130,13 +54,13 @@
130
54
  font-style: normal !important;
131
55
  }
132
56
 
133
- :root[style*="readium-a11y-on"] *:not(code):not(var):not(kbd):not(samp) {
57
+ :root[style*="readium-a11y-on"] body *:not(code):not(var):not(kbd):not(samp) {
134
58
  font-family: inherit !important;
135
59
  font-weight: inherit !important;
136
60
  font-style: inherit !important;
137
61
  }
138
62
 
139
- :root[style*="readium-a11y-on"] * {
63
+ :root[style*="readium-a11y-on"] body * {
140
64
  text-decoration: none !important;
141
65
  font-variant-caps: normal !important;
142
66
  font-variant-position: normal !important;
@@ -149,22 +73,6 @@
149
73
  vertical-align: baseline !important;
150
74
  }
151
75
 
152
- /* Word Spacing */
153
-
154
- :root[style*="--USER__wordSpacing"] h1,
155
- :root[style*="--USER__wordSpacing"] h2,
156
- :root[style*="--USER__wordSpacing"] h3,
157
- :root[style*="--USER__wordSpacing"] h4,
158
- :root[style*="--USER__wordSpacing"] h5,
159
- :root[style*="--USER__wordSpacing"] h6,
160
- :root[style*="--USER__wordSpacing"] p,
161
- :root[style*="--USER__wordSpacing"] li,
162
- :root[style*="--USER__wordSpacing"] div,
163
- :root[style*="--USER__wordSpacing"] dt,
164
- :root[style*="--USER__wordSpacing"] dd {
165
- word-spacing: var(--USER__wordSpacing);
166
- }
167
-
168
76
  /* Zoom */
169
77
 
170
78
  :root {
@@ -199,6 +107,98 @@
199
107
  zoom: var(--USER__zoom) !important;
200
108
  }
201
109
  }
110
+
111
+ /* LineHeight */
112
+
113
+ :root[style*="--USER__lineHeight"] {
114
+ line-height: var(--USER__lineHeight) !important;
115
+ }
116
+
117
+ :root[style*="--USER__lineHeight"] body,
118
+ :root[style*="--USER__lineHeight"] p,
119
+ :root[style*="--USER__lineHeight"] li,
120
+ :root[style*="--USER__lineHeight"] div {
121
+ line-height: inherit;
122
+ }
123
+
124
+ /* ParagraphSpacing */
125
+
126
+ :root[style*="--USER__paraSpacing"] p {
127
+ margin-block: var(--USER__paraSpacing) !important;
128
+ }
129
+
130
+ /* ParagraphIndent */
131
+
132
+ :root[style*="--USER__paraIndent"] p {
133
+ text-indent: var(--USER__paraIndent) !important;
134
+ }
135
+
136
+ :root[style*="--USER__paraIndent"] p *,
137
+ :root[style*="--USER__paraIndent"] p:first-letter {
138
+ text-indent: 0 !important;
139
+ }
140
+
141
+ /* WordSpacing */
142
+
143
+ :root[style*="--USER__wordSpacing"] h1,
144
+ :root[style*="--USER__wordSpacing"] h2,
145
+ :root[style*="--USER__wordSpacing"] h3,
146
+ :root[style*="--USER__wordSpacing"] h4,
147
+ :root[style*="--USER__wordSpacing"] h5,
148
+ :root[style*="--USER__wordSpacing"] h6,
149
+ :root[style*="--USER__wordSpacing"] p,
150
+ :root[style*="--USER__wordSpacing"] li,
151
+ :root[style*="--USER__wordSpacing"] div,
152
+ :root[style*="--USER__wordSpacing"] dt,
153
+ :root[style*="--USER__wordSpacing"] dd {
154
+ word-spacing: var(--USER__wordSpacing);
155
+ }
156
+
157
+ /* LetterSpacing */
158
+
159
+ :root[style*="--USER__letterSpacing"] h1,
160
+ :root[style*="--USER__letterSpacing"] h2,
161
+ :root[style*="--USER__letterSpacing"] h3,
162
+ :root[style*="--USER__letterSpacing"] h4,
163
+ :root[style*="--USER__letterSpacing"] h5,
164
+ :root[style*="--USER__letterSpacing"] h6,
165
+ :root[style*="--USER__letterSpacing"] p,
166
+ :root[style*="--USER__letterSpacing"] li,
167
+ :root[style*="--USER__letterSpacing"] div,
168
+ :root[style*="--USER__letterSpacing"] dt,
169
+ :root[style*="--USER__letterSpacing"] dd {
170
+ letter-spacing: var(--USER__letterSpacing);
171
+ font-variant: none;
172
+ }
173
+
174
+ /* FontWeight */
175
+
176
+ :root[style*="--USER__fontWeight"] body {
177
+ font-weight: var(--USER__fontWeight) !important;
178
+ }
179
+
180
+ /* Attempt to handle known bolds */
181
+ :root[style*="--USER__fontWeight"] b,
182
+ :root[style*="--USER__fontWeight"] strong {
183
+ font-weight: bolder;
184
+ }
185
+
186
+ /* Ruby */
187
+
188
+ :root[style*="readium-noRuby-on"] body rt,
189
+ :root[style*="readium-noRuby-on"] body rp {
190
+ display: none;
191
+ }
192
+
193
+ /* Ligatures */
194
+
195
+ :root[style*="--USER__ligatures"] {
196
+ font-variant-ligatures: var(--USER__ligatures) !important;
197
+ }
198
+
199
+ :root[style*="--USER__ligatures"] * {
200
+ font-variant-ligatures: inherit !important;
201
+ }
202
202
  `,Tt=(r,t)=>URL.createObjectURL(new Blob([r],{type:t})),Ze=r=>r.replace(/\/\/.*/g,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/\n/g,"").replace(/\s+/g," "),re=(r,t)=>{const e=r.createElement("script");return e.dataset.readium="true",e.src=t.startsWith("blob:")?t:Tt(t,"text/javascript"),e},NA=(r,t)=>{const e=r.createElement("style");return e.dataset.readium="true",e.textContent=t,e},se=new Map,oe=(r,t)=>{if(se.has(r))return se.get(r);const e=t();return se.set(r,e),e},xA=r=>re(r,oe("css-selector-generator",()=>Tt('!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports._readium_cssSelectorGenerator=e():t._readium_cssSelectorGenerator=e()}(self,(()=>(()=>{"use strict";var t,e,n={d:(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},o={};function r(t){return t&&t instanceof Element}function i(t="unknown problem",...e){console.warn(`CssSelectorGenerator: ${t}`,...e)}n.r(o),n.d(o,{default:()=>z,getCssSelector:()=>U}),function(t){t.NONE="none",t.DESCENDANT="descendant",t.CHILD="child"}(t||(t={})),function(t){t.id="id",t.class="class",t.tag="tag",t.attribute="attribute",t.nthchild="nthchild",t.nthoftype="nthoftype"}(e||(e={}));const c={selectors:[e.id,e.class,e.tag,e.attribute],includeTag:!1,whitelist:[],blacklist:[],combineWithinSelector:!0,combineBetweenSelectors:!0,root:null,maxCombinations:Number.POSITIVE_INFINITY,maxCandidates:Number.POSITIVE_INFINITY};function u(t){return t instanceof RegExp}function s(t){return["string","function"].includes(typeof t)||u(t)}function l(t){return Array.isArray(t)?t.filter(s):[]}function a(t){const e=[Node.DOCUMENT_NODE,Node.DOCUMENT_FRAGMENT_NODE,Node.ELEMENT_NODE];return function(t){return t instanceof Node}(t)&&e.includes(t.nodeType)}function f(t,e){if(a(t))return t.contains(e)||i("element root mismatch","Provided root does not contain the element. This will most likely result in producing a fallback selector using element\'s real root node. If you plan to use the selector using provided root (e.g. `root.querySelector`), it will nto work as intended."),t;const n=e.getRootNode({composed:!1});return a(n)?(n!==document&&i("shadow root inferred","You did not provide a root and the element is a child of Shadow DOM. This will produce a selector using ShadowRoot as a root. If you plan to use the selector using document as a root (e.g. `document.querySelector`), it will not work as intended."),n):e.ownerDocument.querySelector(":root")}function d(t){return"number"==typeof t?t:Number.POSITIVE_INFINITY}function m(t=[]){const[e=[],...n]=t;return 0===n.length?e:n.reduce(((t,e)=>t.filter((t=>e.includes(t)))),e)}function p(t){return[].concat(...t)}function h(t){const e=t.map((t=>{if(u(t))return e=>t.test(e);if("function"==typeof t)return e=>{const n=t(e);return"boolean"!=typeof n?(i("pattern matcher function invalid","Provided pattern matching function does not return boolean. It\'s result will be ignored.",t),!1):n};if("string"==typeof t){const e=new RegExp("^"+t.replace(/[|\\\\{}()[\\]^$+?.]/g,"\\\\$&").replace(/\\*/g,".+")+"$");return t=>e.test(t)}return i("pattern matcher invalid","Pattern matching only accepts strings, regular expressions and/or functions. This item is invalid and will be ignored.",t),()=>!1}));return t=>e.some((e=>e(t)))}function g(t,e,n){const o=Array.from(f(n,t[0]).querySelectorAll(e));return o.length===t.length&&t.every((t=>o.includes(t)))}function y(t,e){e=null!=e?e:function(t){return t.ownerDocument.querySelector(":root")}(t);const n=[];let o=t;for(;r(o)&&o!==e;)n.push(o),o=o.parentElement;return n}function b(t,e){return m(t.map((t=>y(t,e))))}const N={[t.NONE]:{type:t.NONE,value:""},[t.DESCENDANT]:{type:t.DESCENDANT,value:" > "},[t.CHILD]:{type:t.CHILD,value:" "}},S=new RegExp(["^$","\\\\s"].join("|")),E=new RegExp(["^$"].join("|")),w=[e.nthoftype,e.tag,e.id,e.class,e.attribute,e.nthchild],v=h(["class","id","ng-*"]);function C({nodeName:t}){return`[${t}]`}function O({nodeName:t,nodeValue:e}){return`[${t}=\'${L(e)}\']`}function T(t){const e=Array.from(t.attributes).filter((e=>function({nodeName:t},e){const n=e.tagName.toLowerCase();return!(["input","option"].includes(n)&&"value"===t||v(t))}(e,t)));return[...e.map(C),...e.map(O)]}function I(t){return(t.getAttribute("class")||"").trim().split(/\\s+/).filter((t=>!E.test(t))).map((t=>`.${L(t)}`))}function x(t){const e=t.getAttribute("id")||"",n=`#${L(e)}`,o=t.getRootNode({composed:!1});return!S.test(e)&&g([t],n,o)?[n]:[]}function j(t){const e=t.parentNode;if(e){const n=Array.from(e.childNodes).filter(r).indexOf(t);if(n>-1)return[`:nth-child(${n+1})`]}return[]}function A(t){return[L(t.tagName.toLowerCase())]}function D(t){const e=[...new Set(p(t.map(A)))];return 0===e.length||e.length>1?[]:[e[0]]}function $(t){const e=D([t])[0],n=t.parentElement;if(n){const o=Array.from(n.children).filter((t=>t.tagName.toLowerCase()===e)),r=o.indexOf(t);if(r>-1)return[`${e}:nth-of-type(${r+1})`]}return[]}function R(t=[],{maxResults:e=Number.POSITIVE_INFINITY}={}){const n=[];let o=0,r=k(1);for(;r.length<=t.length&&o<e;)o+=1,n.push(r.map((e=>t[e]))),r=P(r,t.length-1);return n}function P(t=[],e=0){const n=t.length;if(0===n)return[];const o=[...t];o[n-1]+=1;for(let t=n-1;t>=0;t--)if(o[t]>e){if(0===t)return k(n+1);o[t-1]++,o[t]=o[t-1]+1}return o[n-1]>e?k(n+1):o}function k(t=1){return Array.from(Array(t).keys())}const _=":".charCodeAt(0).toString(16).toUpperCase(),M=/[ !"#$%&\'()\\[\\]{|}<>*+,./;=?@^`~\\\\]/;function L(t=""){var e,n;return null!==(n=null===(e=null===CSS||void 0===CSS?void 0:CSS.escape)||void 0===e?void 0:e.call(CSS,t))&&void 0!==n?n:function(t=""){return t.split("").map((t=>":"===t?`\\\\${_} `:M.test(t)?`\\\\${t}`:escape(t).replace(/%/g,"\\\\"))).join("")}(t)}const q={tag:D,id:function(t){return 0===t.length||t.length>1?[]:x(t[0])},class:function(t){return m(t.map(I))},attribute:function(t){return m(t.map(T))},nthchild:function(t){return m(t.map(j))},nthoftype:function(t){return m(t.map($))}},F={tag:A,id:x,class:I,attribute:T,nthchild:j,nthoftype:$};function V(t){return t.includes(e.tag)||t.includes(e.nthoftype)?[...t]:[...t,e.tag]}function Y(t={}){const n=[...w];return t[e.tag]&&t[e.nthoftype]&&n.splice(n.indexOf(e.tag),1),n.map((e=>{return(o=t)[n=e]?o[n].join(""):"";var n,o})).join("")}function B(t,e,n="",o){const r=function(t,e){return""===e?t:function(t,e){return[...t.map((t=>e+" "+t)),...t.map((t=>e+" > "+t))]}(t,e)}(function(t,e,n){const o=function(t,e){const{blacklist:n,whitelist:o,combineWithinSelector:r,maxCombinations:i}=e,c=h(n),u=h(o);return function(t){const{selectors:e,includeTag:n}=t,o=[].concat(e);return n&&!o.includes("tag")&&o.push("tag"),o}(e).reduce(((e,n)=>{const o=function(t,e){var n;return(null!==(n=q[e])&&void 0!==n?n:()=>[])(t)}(t,n),s=function(t=[],e,n){return t.filter((t=>n(t)||!e(t)))}(o,c,u),l=function(t=[],e){return t.sort(((t,n)=>{const o=e(t),r=e(n);return o&&!r?-1:!o&&r?1:0}))}(s,u);return e[n]=r?R(l,{maxResults:i}):l.map((t=>[t])),e}),{})}(t,n),r=function(t,e){return function(t){const{selectors:e,combineBetweenSelectors:n,includeTag:o,maxCandidates:r}=t,i=n?R(e,{maxResults:r}):e.map((t=>[t]));return o?i.map(V):i}(e).map((e=>function(t,e){const n={};return t.forEach((t=>{const o=e[t];o.length>0&&(n[t]=o)})),function(t={}){let e=[];return Object.entries(t).forEach((([t,n])=>{e=n.flatMap((n=>0===e.length?[{[t]:n}]:e.map((e=>Object.assign(Object.assign({},e),{[t]:n})))))})),e}(n).map(Y)}(e,t))).filter((t=>t.length>0))}(o,n),i=p(r);return[...new Set(i)]}(t,o.root,o),n);for(const e of r)if(g(t,e,o.root))return e;return null}function G(t){return{value:t,include:!1}}function W({selectors:t,operator:n}){let o=[...w];t[e.tag]&&t[e.nthoftype]&&(o=o.filter((t=>t!==e.tag)));let r="";return o.forEach((e=>{(t[e]||[]).forEach((({value:t,include:e})=>{e&&(r+=t)}))})),n.value+r}function H(n){return[":root",...y(n).reverse().map((n=>{const o=function(e,n,o=t.NONE){const r={};return n.forEach((t=>{Reflect.set(r,t,function(t,e){return F[e](t)}(e,t).map(G))})),{element:e,operator:N[o],selectors:r}}(n,[e.nthchild],t.DESCENDANT);return o.selectors.nthchild.forEach((t=>{t.include=!0})),o})).map(W)].join("")}function U(t,n={}){const o=function(t){const e=(Array.isArray(t)?t:[t]).filter(r);return[...new Set(e)]}(t),i=function(t,n={}){const o=Object.assign(Object.assign({},c),n);return{selectors:(r=o.selectors,Array.isArray(r)?r.filter((t=>{return n=e,o=t,Object.values(n).includes(o);var n,o})):[]),whitelist:l(o.whitelist),blacklist:l(o.blacklist),root:f(o.root,t),combineWithinSelector:!!o.combineWithinSelector,combineBetweenSelectors:!!o.combineBetweenSelectors,includeTag:!!o.includeTag,maxCombinations:d(o.maxCombinations),maxCandidates:d(o.maxCandidates)};var r}(o[0],n);let u="",s=i.root;function a(){return function(t,e,n="",o){if(0===t.length)return null;const r=[t.length>1?t:[],...b(t,e).map((t=>[t]))];for(const t of r){const e=B(t,0,n,o);if(e)return{foundElements:t,selector:e}}return null}(o,s,u,i)}let m=a();for(;m;){const{foundElements:t,selector:e}=m;if(g(o,e,i.root))return e;s=t[0],u=e,m=a()}return o.length>1?o.map((t=>U(t,i))).join(", "):function(t){return t.map(H).join(", ")}(o)}const z=U;return o})()));',"text/javascript"))),TA=`
203
203
  window._readium_blockedEvents = [];
204
204
  window._readium_blockEvents = false; // WebPub doesn't need event blocking
@@ -291,7 +291,7 @@ if(window.onload) window.onload = new Proxy(window.onload, {
291
291
  * Portions of this code come from the sML library
292
292
  * Current version: 1.0.36
293
293
  */const Di=()=>typeof navigator>"u"?"":navigator.userAgent||"",Hi=()=>typeof navigator>"u"?void 0:navigator.userAgentData||void 0;class Gi{constructor(){const t=Hi(),e=Di(),i=n=>(typeof n=="string"||typeof n=="number")&&n?String(n).replace(/_/g,".").split(".").map(s=>parseInt(s)||0):[],A=(n="")=>{if(!n)return[];const s=new RegExp("^.*"+n+"[ :\\/]?(\\d+([\\._]\\d+)*).*$");return s.test(e)?i(e.replace(s,"$1")):[]};this.OS=(n=>(/(macOS|Mac OS X)/.test(e)?(/\(iP(hone|od touch);/.test(e)&&(n.iOS=A("CPU (?:iPhone )?OS ")),/\(iPad;/.test(e)?n.iOS=n.iPadOS=A("CPU (?:iPhone )?OS "):/(macOS|Mac OS X) \d/.test(e)&&(document.ontouchend!==void 0?n.iOS=n.iPadOS=A():n.macOS=A("(?:macOS|Mac OS X) "))):/Windows( NT)? \d/.test(e)?n.Windows=(s=>s[0]!==6||!s[1]?s:s[1]===1?[7]:s[1]===2?[8]:[8,1])(A("Windows(?: NT)?")):/Android \d/.test(e)?n.Android=A("Android"):/CrOS/.test(e)?n.ChromeOS=A():/X11;/.test(e)&&(n.Linux=A()),n))({}),t&&t.getHighEntropyValues(["architecture","model","platform","platformVersion","uaFullVersion"]).then(n=>(s=>{const o=n.platform,a=n.platformVersion;if(!(!o||!a)){if(/^i(OS|P(hone|od touch))$/.test(o))s.iOS=i(a);else if(/^iPad(OS)?$/.test(o))s.iOS=s.iPadOS=i(a);else if(/^(macOS|(Mac )?OS X|Mac(Intel)?)$/.test(o))document.ontouchend!==void 0?s.iOS=s.iPadOS=i():s.macOS=i(a);else if(/^(Microsoft )?Windows$/.test(o))s.Windows=i(a);else if(/^(Google )?Android$/.test(o))s.Android=i(a);else if(/^((Google )?Chrome OS|CrOS)$/.test(o))s.ChromeOS=i(a);else if(/^(Linux|Ubuntu|X11)$/.test(o))s.Linux=i(a);else return;Object.keys(this.OS).forEach(h=>delete this.OS[h]),Object.assign(this.OS,s)}})({})),this.UA=(n=>{let s=!1;if(t&&Array.isArray(t.brands)){const o=t.brands.reduce((a,h)=>(a[h.brand]=[h.version*1],a),{});o["Google Chrome"]?(s=!0,n.Blink=n.Chromium=o.Chromium||[],n.Chrome=o["Google Chrome"]):o["Microsoft Edge"]?(s=!0,n.Blink=n.Chromium=o.Chromium||[],n.Edge=o["Microsoft Edge"]):o.Opera&&(s=!0,n.Blink=n.Chromium=o.Chromium||[],n.Opera=o.Opera)}return s||(/ Gecko\/\d/.test(e)?(n.Gecko=A("rv"),/ Waterfox\/\d/.test(e)?n.Waterfox=A("Waterfox"):/ Firefox\/\d/.test(e)&&(n.Firefox=A("Firefox"))):/ Edge\/\d/.test(e)?(n.EdgeHTML=A("Edge"),n.Edge=n.EdgeHTML):/ Chrom(ium|e)\/\d/.test(e)?(n.Blink=n.Chromium=(o=>o[0]?o:A("Chrome"))(A("Chromium")),/ EdgA?\/\d/.test(e)?n.Edge=(o=>o[0]?o:A("Edg"))(A("EdgA")):/ OPR\/\d/.test(e)?n.Opera=A("OPR"):/ Vivaldi\/\d/.test(e)?n.Vivaldi=A("Vivaldi"):/ Silk\/\d/.test(e)?n.Silk=A("Silk"):/ UCBrowser\/\d/.test(e)?n.UCBrowser=A("UCBrowser"):/ Phoebe\/\d/.test(e)?n.Phoebe=A("Phoebe"):n.Chrome=(o=>o[0]?o:n.Chromium)(A("Chrome"))):/ AppleWebKit\/\d/.test(e)?(n.WebKit=A("AppleWebKit"),/ CriOS \d/.test(e)?n.Chrome=A("CriOS"):/ FxiOS \d/.test(e)?n.Firefox=A("FxiOS"):/ EdgiOS\/\d/.test(e)?n.Edge=A("EdgiOS"):/ Version\/\d/.test(e)&&(n.Safari=A("Version"))):/ Trident\/\d/.test(e)&&(n.Trident=A("Trident"),n.InternetExplorer=(o=>o[0]?o:A("MSIE"))(A("rv")))),/[\[; ]FB(AN|_IAB)\//.test(e)&&(n.Facebook=A("FBAV")),/ Line\/\d/.test(e)&&(n.LINE=A("Line")),n})({}),this.Env={get:()=>[this.OS,this.UA].reduce((n,s)=>{for(const o in s)s[o]&&n.push(o);return n},[])}}}class Sn extends Gi{get iOSRequest(){const t=Hi(),e=Di();if(this.OS.iOS&&!this.OS.iPadOS)return"mobile";if(this.OS.iPadOS)return/\(iPad;/.test(e)||t&&/^iPad(OS)?$/.test(t.platform)?"mobile":"desktop"}}const ut=new Gi,J=new Sn;class ki{constructor(t){this.hidden=!0,this.destroyed=!1,this.currModules=[],this.frame=document.createElement("iframe"),this.frame.classList.add("readium-navigator-iframe"),this.frame.style.visibility="hidden",this.frame.style.setProperty("aria-hidden","true"),this.frame.style.opacity="0",this.frame.style.position="absolute",this.frame.style.pointerEvents="none",this.frame.style.transition="visibility 0s, opacity 0.1s linear",this.frame.style.backgroundColor="#FFFFFF",this.source=t}async load(t=[]){return new Promise((e,i)=>{if(this.loader){const A=this.frame.contentWindow;if([...this.currModules].sort().join("|")===[...t].sort().join("|")){try{e(A)}catch{}return}this.comms?.halt(),this.loader.destroy(),this.loader=new ct(A,t),this.currModules=t,this.comms=void 0;try{e(A)}catch{}return}this.frame.onload=()=>{const A=this.frame.contentWindow;this.loader=new ct(A,t),this.currModules=t;try{e(A)}catch{}},this.frame.onerror=A=>{try{i(A)}catch{}},this.frame.contentWindow.location.replace(this.source)})}async destroy(){await this.hide(),this.loader?.destroy(),this.frame.remove(),this.destroyed=!0}async hide(){if(!this.destroyed){if(this.frame.style.visibility="hidden",this.frame.style.setProperty("aria-hidden","true"),this.frame.style.opacity="0",this.frame.style.pointerEvents="none",this.hidden=!0,this.frame.parentElement)return this.comms===void 0||!this.comms.ready?void 0:new Promise((t,e)=>{this.comms?.send("unfocus",void 0,i=>{this.comms?.halt(),t()})});this.comms?.halt()}}async show(t){if(this.destroyed)throw Error("Trying to show frame when it doesn't exist");if(!this.frame.parentElement)throw Error("Trying to show frame that is not attached to the DOM");return this.comms?this.comms.resume():this.comms=new gt(this.frame.contentWindow,this.source),new Promise((e,i)=>{this.comms?.send("activate",void 0,()=>{this.comms?.send("focus",void 0,()=>{const A=()=>{this.frame.style.removeProperty("visibility"),this.frame.style.removeProperty("aria-hidden"),this.frame.style.removeProperty("opacity"),this.frame.style.removeProperty("pointer-events"),this.hidden=!1,ut.UA.WebKit&&this.comms?.send("force_webkit_recalc",void 0),e()};t!==void 0?this.comms?.send("go_progression",t,A):A()})})})}setCSSProperties(t){this.destroyed||!this.frame.contentWindow||(this.hidden&&(this.comms?this.comms?.resume():this.comms=new gt(this.frame.contentWindow,this.source)),this.comms?.send("update_properties",t),this.hidden&&this.comms?.halt())}get iframe(){if(this.destroyed)throw Error("Trying to use frame when it doesn't exist");return this.frame}get realSize(){if(this.destroyed)throw Error("Trying to use frame client rect when it doesn't exist");return this.frame.getBoundingClientRect()}get window(){if(this.destroyed||!this.frame.contentWindow)throw Error("Trying to use frame window when it doesn't exist");return this.frame.contentWindow}get msg(){return this.comms}get ldr(){return this.loader}}class Ji{constructor(t,e){this.pool=new Map,this.blobs=new Map,this.inprogress=new Map,this.pendingUpdates=new Map,this.container=t,this.currentCssProperties=e}async destroy(){let t=this.inprogress.values(),e=t.next();const i=[];for(;e.value;)i.push(e.value),e=t.next();i.length>0&&await Promise.allSettled(i),this.inprogress.clear();let A=this.pool.values(),n=A.next();for(;n.value;)await n.value.destroy(),n=A.next();this.pool.clear(),this.blobs.forEach(s=>URL.revokeObjectURL(s)),this.blobs.clear(),this.container.childNodes.forEach(s=>{(s.nodeType===Node.ELEMENT_NODE||s.nodeType===Node.TEXT_NODE)&&s.remove()})}async update(t,e,i){const A=t.readingOrder.items;let n=A.findIndex(a=>a.href===e.href);if(n<0)throw Error(`Locator not found in reading order: ${e.href}`);const s=A[n].href;this.inprogress.has(s)&&await this.inprogress.get(s);const o=new Promise(async(a,h)=>{const c=[],g=[];t.readingOrder.items.forEach((l,f)=>{f!==n&&f!==n-1&&f!==n+1&&(c.includes(l.href)||c.push(l.href)),f===n&&(g.includes(l.href)||g.push(l.href))}),c.forEach(async l=>{g.includes(l)||this.pool.has(l)&&(await this.pool.get(l)?.destroy(),this.pool.delete(l))}),this.currentBaseURL!==void 0&&t.baseURL!==this.currentBaseURL&&(this.blobs.forEach(l=>URL.revokeObjectURL(l)),this.blobs.clear()),this.currentBaseURL=t.baseURL;const u=async l=>{if(this.pendingUpdates.has(l)&&this.pendingUpdates.get(l)?.inPool===!1){const F=this.blobs.get(l);F&&(URL.revokeObjectURL(F),this.blobs.delete(l),this.pendingUpdates.delete(l))}if(this.pool.has(l)){const F=this.pool.get(l);if(!this.blobs.has(l))await F.destroy(),this.pool.delete(l),this.pendingUpdates.delete(l);else{await F.load(i);return}}const f=t.readingOrder.findWithHref(l);if(!f)return;if(!this.blobs.has(l)){const S=await new Ke(t,this.currentBaseURL||"",f,this.currentCssProperties).build();this.blobs.set(l,S)}const E=new ki(this.blobs.get(l));l!==s&&await E.hide(),this.container.appendChild(E.iframe),await E.load(i),this.pool.set(l,E)};try{await Promise.all(g.map(l=>u(l)))}catch(l){h(l)}const M=this.pool.get(s);M?.source!==this._currentFrame?.source&&(await this._currentFrame?.hide(),M&&await M.load(i),M&&await M.show(e.locations.progression),this._currentFrame=M),a()});this.inprogress.set(s,o),await o,this.inprogress.delete(s)}setCSSProperties(t){if(!((i,A)=>{const n=Object.keys(i),s=Object.keys(A);if(n.length!==s.length)return!1;for(const o of n)if(i[o]!==A[o])return!1;return!0})(this.currentCssProperties||{},t)){this.currentCssProperties=t,this.pool.forEach(i=>{i.setCSSProperties(t)});for(const i of this.blobs.keys())this.pendingUpdates.set(i,{inPool:this.pool.has(i)})}}get currentFrames(){return[this._currentFrame]}get currentBounds(){const t={x:0,y:0,width:0,height:0,top:0,right:0,bottom:0,left:0,toJSON(){return this}};return this.currentFrames.forEach(e=>{if(!e)return;const i=e.realSize;t.x=Math.min(t.x,i.x),t.y=Math.min(t.y,i.y),t.width+=i.width,t.height=Math.max(t.height,i.height),t.top=Math.min(t.top,i.top),t.right=Math.min(t.right,i.right),t.bottom=Math.min(t.bottom,i.bottom),t.left=Math.min(t.left,i.left)}),t}}var we,Wi;function Qn(){if(Wi)return we;Wi=1;function r(A){if(typeof A!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(A))}function t(A,n){for(var s="",o=0,a=-1,h=0,c,g=0;g<=A.length;++g){if(g<A.length)c=A.charCodeAt(g);else{if(c===47)break;c=47}if(c===47){if(!(a===g-1||h===1))if(a!==g-1&&h===2){if(s.length<2||o!==2||s.charCodeAt(s.length-1)!==46||s.charCodeAt(s.length-2)!==46){if(s.length>2){var u=s.lastIndexOf("/");if(u!==s.length-1){u===-1?(s="",o=0):(s=s.slice(0,u),o=s.length-1-s.lastIndexOf("/")),a=g,h=0;continue}}else if(s.length===2||s.length===1){s="",o=0,a=g,h=0;continue}}n&&(s.length>0?s+="/..":s="..",o=2)}else s.length>0?s+="/"+A.slice(a+1,g):s=A.slice(a+1,g),o=g-a-1;a=g,h=0}else c===46&&h!==-1?++h:h=-1}return s}function e(A,n){var s=n.dir||n.root,o=n.base||(n.name||"")+(n.ext||"");return s?s===n.root?s+o:s+A+o:o}var i={resolve:function(){for(var n="",s=!1,o,a=arguments.length-1;a>=-1&&!s;a--){var h;a>=0?h=arguments[a]:(o===void 0&&(o=process.cwd()),h=o),r(h),h.length!==0&&(n=h+"/"+n,s=h.charCodeAt(0)===47)}return n=t(n,!s),s?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(n){if(r(n),n.length===0)return".";var s=n.charCodeAt(0)===47,o=n.charCodeAt(n.length-1)===47;return n=t(n,!s),n.length===0&&!s&&(n="."),n.length>0&&o&&(n+="/"),s?"/"+n:n},isAbsolute:function(n){return r(n),n.length>0&&n.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var n,s=0;s<arguments.length;++s){var o=arguments[s];r(o),o.length>0&&(n===void 0?n=o:n+="/"+o)}return n===void 0?".":i.normalize(n)},relative:function(n,s){if(r(n),r(s),n===s||(n=i.resolve(n),s=i.resolve(s),n===s))return"";for(var o=1;o<n.length&&n.charCodeAt(o)===47;++o);for(var a=n.length,h=a-o,c=1;c<s.length&&s.charCodeAt(c)===47;++c);for(var g=s.length,u=g-c,M=h<u?h:u,l=-1,f=0;f<=M;++f){if(f===M){if(u>M){if(s.charCodeAt(c+f)===47)return s.slice(c+f+1);if(f===0)return s.slice(c+f)}else h>M&&(n.charCodeAt(o+f)===47?l=f:f===0&&(l=0));break}var E=n.charCodeAt(o+f),F=s.charCodeAt(c+f);if(E!==F)break;E===47&&(l=f)}var S="";for(f=o+l+1;f<=a;++f)(f===a||n.charCodeAt(f)===47)&&(S.length===0?S+="..":S+="/..");return S.length>0?S+s.slice(c+l):(c+=l,s.charCodeAt(c)===47&&++c,s.slice(c))},_makeLong:function(n){return n},dirname:function(n){if(r(n),n.length===0)return".";for(var s=n.charCodeAt(0),o=s===47,a=-1,h=!0,c=n.length-1;c>=1;--c)if(s=n.charCodeAt(c),s===47){if(!h){a=c;break}}else h=!1;return a===-1?o?"/":".":o&&a===1?"//":n.slice(0,a)},basename:function(n,s){if(s!==void 0&&typeof s!="string")throw new TypeError('"ext" argument must be a string');r(n);var o=0,a=-1,h=!0,c;if(s!==void 0&&s.length>0&&s.length<=n.length){if(s.length===n.length&&s===n)return"";var g=s.length-1,u=-1;for(c=n.length-1;c>=0;--c){var M=n.charCodeAt(c);if(M===47){if(!h){o=c+1;break}}else u===-1&&(h=!1,u=c+1),g>=0&&(M===s.charCodeAt(g)?--g===-1&&(a=c):(g=-1,a=u))}return o===a?a=u:a===-1&&(a=n.length),n.slice(o,a)}else{for(c=n.length-1;c>=0;--c)if(n.charCodeAt(c)===47){if(!h){o=c+1;break}}else a===-1&&(h=!1,a=c+1);return a===-1?"":n.slice(o,a)}},extname:function(n){r(n);for(var s=-1,o=0,a=-1,h=!0,c=0,g=n.length-1;g>=0;--g){var u=n.charCodeAt(g);if(u===47){if(!h){o=g+1;break}continue}a===-1&&(h=!1,a=g+1),u===46?s===-1?s=g:c!==1&&(c=1):s!==-1&&(c=-1)}return s===-1||a===-1||c===0||c===1&&s===a-1&&s===o+1?"":n.slice(s,a)},format:function(n){if(n===null||typeof n!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof n);return e("/",n)},parse:function(n){r(n);var s={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return s;var o=n.charCodeAt(0),a=o===47,h;a?(s.root="/",h=1):h=0;for(var c=-1,g=0,u=-1,M=!0,l=n.length-1,f=0;l>=h;--l){if(o=n.charCodeAt(l),o===47){if(!M){g=l+1;break}continue}u===-1&&(M=!1,u=l+1),o===46?c===-1?c=l:f!==1&&(f=1):c!==-1&&(f=-1)}return c===-1||u===-1||f===0||f===1&&c===u-1&&c===g+1?u!==-1&&(g===0&&a?s.base=s.name=n.slice(1,u):s.base=s.name=n.slice(g,u)):(g===0&&a?(s.name=n.slice(1,c),s.base=n.slice(1,u)):(s.name=n.slice(g,c),s.base=n.slice(g,u)),s.ext=n.slice(c,u)),g>0?s.dir=n.slice(0,g-1):a&&(s.dir="/"),s},sep:"/",delimiter:":",win32:null,posix:null};return i.posix=i,we=i,we}var Jt=Qn();class Wt{constructor(){}toFlag(t){return`readium-${t}-on`}toUnitless(t){return t.toString()}toPercentage(t,e=!1){return e||t>0&&t<=1?`${Math.round(t*100)}%`:`${t}%`}toVw(t){const e=Math.round(t*100);return`${Math.min(e,100)}vw`}toVh(t){const e=Math.round(t*100);return`${Math.min(e,100)}vh`}toPx(t){return`${t}px`}toRem(t){return`${t}rem`}}class Ee extends Wt{constructor(t){super(),this.a11yNormalize=t.a11yNormalize??null,this.bodyHyphens=t.bodyHyphens??null,this.fontFamily=t.fontFamily??null,this.fontWeight=t.fontWeight??null,this.letterSpacing=t.letterSpacing??null,this.ligatures=t.ligatures??null,this.lineHeight=t.lineHeight??null,this.noRuby=t.noRuby??null,this.paraIndent=t.paraIndent??null,this.paraSpacing=t.paraSpacing??null,this.textAlign=t.textAlign??null,this.wordSpacing=t.wordSpacing??null,this.zoom=t.zoom??null}toCSSProperties(){const t={};return this.a11yNormalize&&(t["--USER__a11yNormalize"]=this.toFlag("a11y")),this.bodyHyphens&&(t["--USER__bodyHyphens"]=this.bodyHyphens),this.fontFamily&&(t["--USER__fontFamily"]=this.fontFamily),this.fontWeight!=null&&(t["--USER__fontWeight"]=this.toUnitless(this.fontWeight)),this.letterSpacing!=null&&(t["--USER__letterSpacing"]=this.toRem(this.letterSpacing)),this.ligatures&&(t["--USER__ligatures"]=this.ligatures),this.lineHeight!=null&&(t["--USER__lineHeight"]=this.toUnitless(this.lineHeight)),this.noRuby&&(t["--USER__noRuby"]=this.toFlag("noRuby")),this.paraIndent!=null&&(t["--USER__paraIndent"]=this.toRem(this.paraIndent)),this.paraSpacing!=null&&(t["--USER__paraSpacing"]=this.toRem(this.paraSpacing)),this.textAlign&&(t["--USER__textAlign"]=this.textAlign),this.wordSpacing!=null&&(t["--USER__wordSpacing"]=this.toRem(this.wordSpacing)),this.zoom!==null&&(t["--USER__zoom"]=this.toPercentage(this.zoom,!0)),t}}class Li{constructor(t){this.userProperties=t.userProperties}update(t){const e={a11yNormalize:t.textNormalization,bodyHyphens:typeof t.hyphens!="boolean"?null:t.hyphens?"auto":"none",fontFamily:t.fontFamily,fontWeight:t.fontWeight,letterSpacing:t.letterSpacing,ligatures:typeof t.ligatures!="boolean"?null:t.ligatures?"common-ligatures":"none",lineHeight:t.lineHeight,noRuby:t.noRuby,paraIndent:t.paragraphIndent,paraSpacing:t.paragraphSpacing,textAlign:t.textAlign,wordSpacing:t.wordSpacing,zoom:t.zoom};this.userProperties=new Ee(e)}}var O=(r=>(r.start="start",r.left="left",r.right="right",r.justify="justify",r))(O||{});const At={range:[0,100],step:1},yt={range:[.7,4],step:.05},K={range:[100,1e3],step:100},Ut={range:[50,250],step:10},Rt={range:[0,1],step:.125},Ct={range:[1,2],step:.1},nt={range:[20,100],step:1},St={range:[0,3],step:.25},Qt={range:[0,3],step:.25},zt={range:[0,2],step:.125},Yt={range:[.7,4],step:.05};function Oi(r,t){return r==null||t==null||r<=t?r:void 0}function Xi(r,t){return r==null||t==null||r>=t?r:void 0}function Q(r){return typeof r=="string"?r:r===null?null:void 0}function y(r){return typeof r=="boolean"||r==null?r:void 0}function Nt(r,t){if(r!==void 0)return r===null?null:t[r]!==void 0?r:void 0}function rt(r){return typeof r=="boolean"||typeof r=="number"&&r>=0?r:r===null?null:void 0}function I(r){if(r!==void 0)return r===null?null:r<0?void 0:r}function W(r,t){if(r===void 0)return;if(r===null)return null;const e=Math.min(...t),i=Math.max(...t);return r>=e&&r<=i?r:void 0}function Lt(r,t){return r===void 0?t:r}class mt{constructor(t={}){this.fontFamily=Q(t.fontFamily),this.fontWeight=W(t.fontWeight,K.range),this.hyphens=y(t.hyphens),this.letterSpacing=I(t.letterSpacing),this.ligatures=y(t.ligatures),this.lineHeight=I(t.lineHeight),this.noRuby=y(t.noRuby),this.paragraphIndent=I(t.paragraphIndent),this.paragraphSpacing=I(t.paragraphSpacing),this.textAlign=Nt(t.textAlign,O),this.textNormalization=y(t.textNormalization),this.wordSpacing=I(t.wordSpacing),this.zoom=W(t.zoom,Yt.range)}static serialize(t){const{...e}=t;return JSON.stringify(e)}static deserialize(t){try{const e=JSON.parse(t);return new mt(e)}catch(e){return console.error("Failed to deserialize preferences:",e),null}}merging(t){const e={...this};for(const i of Object.keys(t))t[i]!==void 0&&(e[i]=t[i]);return new mt(e)}}class Zi{constructor(t){this.fontFamily=Q(t.fontFamily)||null,this.fontWeight=W(t.fontWeight,K.range)||null,this.hyphens=y(t.hyphens)??null,this.letterSpacing=I(t.letterSpacing)||null,this.ligatures=y(t.ligatures)??null,this.lineHeight=I(t.lineHeight)||null,this.noRuby=y(t.noRuby)??!1,this.paragraphIndent=I(t.paragraphIndent)??null,this.paragraphSpacing=I(t.paragraphSpacing)??null,this.textAlign=Nt(t.textAlign,O)||null,this.textNormalization=y(t.textNormalization)??!1,this.wordSpacing=I(t.wordSpacing)||null,this.zoom=W(t.zoom,Yt.range)||1}}class Ie{constructor(t,e,i){this.fontFamily=null,this.fontWeight=null,this.hyphens=null,this.letterSpacing=null,this.ligatures=null,this.lineHeight=null,this.noRuby=null,this.paragraphIndent=null,this.paragraphSpacing=null,this.textAlign=null,this.textNormalization=null,this.wordSpacing=null,i&&(this.fontFamily=t.fontFamily||e.fontFamily||null,this.fontWeight=t.fontWeight!==void 0?t.fontWeight:e.fontWeight!==void 0?e.fontWeight:null,this.hyphens=typeof t.hyphens=="boolean"?t.hyphens:e.hyphens??null,this.letterSpacing=t.letterSpacing!==void 0?t.letterSpacing:e.letterSpacing!==void 0?e.letterSpacing:null,this.ligatures=typeof t.ligatures=="boolean"?t.ligatures:e.ligatures??null,this.lineHeight=t.lineHeight!==void 0?t.lineHeight:e.lineHeight!==void 0?e.lineHeight:null,this.noRuby=typeof t.noRuby=="boolean"?t.noRuby:e.noRuby??null,this.paragraphIndent=t.paragraphIndent!==void 0?t.paragraphIndent:e.paragraphIndent!==void 0?e.paragraphIndent:null,this.paragraphSpacing=t.paragraphSpacing!==void 0?t.paragraphSpacing:e.paragraphSpacing!==void 0?e.paragraphSpacing:null,this.textAlign=t.textAlign||e.textAlign||null,this.textNormalization=typeof t.textNormalization=="boolean"?t.textNormalization:e.textNormalization??null,this.wordSpacing=t.wordSpacing!==void 0?t.wordSpacing:e.wordSpacing!==void 0?e.wordSpacing:null),this.zoom=t.zoom!==void 0?t.zoom:e.zoom!==void 0?e.zoom:null}}class z{constructor({initialValue:t=null,effectiveValue:e,isEffective:i,onChange:A}){this._value=t,this._effectiveValue=e,this._isEffective=i,this._onChange=A}set value(t){this._value=t,this._onChange(this._value)}get value(){return this._value}get effectiveValue(){return this._effectiveValue}get isEffective(){return this._isEffective}clear(){this._value=null}}class N extends z{set value(t){this._value=t,this._onChange(this._value)}get value(){return this._value}get effectiveValue(){return this._effectiveValue}get isEffective(){return this._isEffective}clear(){this._value=null}toggle(){this._value=!this._value,this._onChange(this._value)}}class Fe extends z{constructor({initialValue:t=null,effectiveValue:e,isEffective:i,onChange:A,supportedValues:n}){super({initialValue:t,effectiveValue:e,isEffective:i,onChange:A}),this._supportedValues=n}set value(t){if(t&&!this._supportedValues.includes(t))throw new Error(`Value '${String(t)}' is not in the supported values for this preference.`);this._value=t,this._onChange(this._value)}get value(){return this._value}get effectiveValue(){return this._effectiveValue}get isEffective(){return this._isEffective}get supportedValues(){return this._supportedValues}clear(){this._value=null}}class U extends z{constructor({initialValue:t=null,effectiveValue:e,isEffective:i,onChange:A,supportedRange:n,step:s}){super({initialValue:t,effectiveValue:e,isEffective:i,onChange:A}),this._supportedRange=n,this._step=s,this._decimals=this._step.toString().includes(".")?this._step.toString().split(".")[1].length:0}set value(t){if(t&&(t<this._supportedRange[0]||t>this._supportedRange[1]))throw new Error(`Value '${String(t)}' is out of the supported range for this preference.`);this._value=t,this._onChange(this._value)}get value(){return this._value}get effectiveValue(){return this._effectiveValue}get isEffective(){return this._isEffective}get supportedRange(){return this._supportedRange}get step(){return this._step}increment(){this._value&&this._value<this._supportedRange[1]&&(this._value=Math.min(Math.round((this._value+this._step)*10**this._decimals)/10**this._decimals,this._supportedRange[1]),this._onChange(this._value))}decrement(){this._value&&this._value>this._supportedRange[0]&&(this._value=Math.max(Math.round((this._value-this._step)*10**this._decimals)/10**this._decimals,this._supportedRange[0]),this._onChange(this._value))}format(t){return t.toString()}clear(){this._value=null}}class ye{constructor(t,e,i){this.preferences=t,this.settings=e,this.metadata=i}clear(){this.preferences=new mt({})}updatePreference(t,e){this.preferences[t]=e}get isDisplayTransformable(){return this.metadata?.accessibility?.feature?.some(t=>t.value===ve.DISPLAY_TRANSFORMABILITY.value)??!1}get fontFamily(){return new z({initialValue:this.preferences.fontFamily,effectiveValue:this.settings.fontFamily||null,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("fontFamily",t||null)}})}get fontWeight(){return new U({initialValue:this.preferences.fontWeight,effectiveValue:this.settings.fontWeight||400,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("fontWeight",t||null)},supportedRange:K.range,step:K.step})}get hyphens(){return new N({initialValue:this.preferences.hyphens,effectiveValue:this.settings.hyphens||!1,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("hyphens",t||null)}})}get letterSpacing(){return new U({initialValue:this.preferences.letterSpacing,effectiveValue:this.settings.letterSpacing||0,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("letterSpacing",t||null)},supportedRange:Rt.range,step:Rt.step})}get ligatures(){return new N({initialValue:this.preferences.ligatures,effectiveValue:this.settings.ligatures||!0,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("ligatures",t||null)}})}get lineHeight(){return new U({initialValue:this.preferences.lineHeight,effectiveValue:this.settings.lineHeight,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("lineHeight",t||null)},supportedRange:Ct.range,step:Ct.step})}get noRuby(){return new N({initialValue:this.preferences.noRuby,effectiveValue:this.settings.noRuby||!1,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("noRuby",t||null)}})}get paragraphIndent(){return new U({initialValue:this.preferences.paragraphIndent,effectiveValue:this.settings.paragraphIndent||0,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("paragraphIndent",t||null)},supportedRange:St.range,step:St.step})}get paragraphSpacing(){return new U({initialValue:this.preferences.paragraphSpacing,effectiveValue:this.settings.paragraphSpacing||0,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("paragraphSpacing",t||null)},supportedRange:Qt.range,step:Qt.step})}get textAlign(){return new Fe({initialValue:this.preferences.textAlign,effectiveValue:this.settings.textAlign||O.start,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("textAlign",t||null)},supportedValues:Object.values(O)})}get textNormalization(){return new N({initialValue:this.preferences.textNormalization,effectiveValue:this.settings.textNormalization||!1,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("textNormalization",t||null)}})}get wordSpacing(){return new U({initialValue:this.preferences.wordSpacing,effectiveValue:this.settings.wordSpacing||0,isEffective:this.isDisplayTransformable,onChange:t=>{this.updatePreference("wordSpacing",t||null)},supportedRange:zt.range,step:zt.step})}get zoom(){return new U({initialValue:this.preferences.zoom,effectiveValue:this.settings.zoom||1,isEffective:CSS.supports("zoom","1")??!1,onChange:t=>{this.updatePreference("zoom",t||null)},supportedRange:Yt.range,step:Yt.step})}}const zn=r=>({frameLoaded:r.frameLoaded||(()=>{}),positionChanged:r.positionChanged||(()=>{}),tap:r.tap||(()=>!1),click:r.click||(()=>!1),zoom:r.zoom||(()=>{}),scroll:r.scroll||(()=>{}),customEvent:r.customEvent||(()=>{}),handleLocator:r.handleLocator||(()=>!1),textSelected:r.textSelected||(()=>{})});class Ki extends ne{constructor(t,e,i,A=void 0,n={preferences:{},defaults:{}}){if(super(),this.currentIndex=0,this._preferencesEditor=null,this.webViewport={readingOrder:[],progressions:new Map,positions:null},this.pub=e,this.container=t,this.listeners=zn(i),this._preferences=new mt(n.preferences),this._defaults=new Zi(n.defaults),this._settings=new Ie(this._preferences,this._defaults,this.hasDisplayTransformability),this._css=new Li({userProperties:new Ee({zoom:this._settings.zoom})}),A&&typeof A.copyWithLocations=="function"){this.currentLocation=A;const s=this.pub.readingOrder.findIndexWithHref(A.href);s>=0&&(this.currentIndex=s)}else this.currentLocation=this.createCurrentLocator()}async load(){await this.updateCSS(!1);const t=this.compileCSSProperties(this._css);this.framePool=new Ji(this.container,t),await this.apply()}get settings(){return Object.freeze({...this._settings})}get preferencesEditor(){return this._preferencesEditor===null&&(this._preferencesEditor=new ye(this._preferences,this.settings,this.pub.metadata)),this._preferencesEditor}async submitPreferences(t){this._preferences=this._preferences.merging(t),await this.applyPreferences()}async applyPreferences(){this._settings=new Ie(this._preferences,this._defaults,this.hasDisplayTransformability),this._preferencesEditor!==null&&(this._preferencesEditor=new ye(this._preferences,this.settings,this.pub.metadata)),await this.updateCSS(!0)}async updateCSS(t){this._css.update(this._settings),t&&await this.commitCSS(this._css)}compileCSSProperties(t){const e={};for(const[i,A]of Object.entries(t.userProperties.toCSSProperties()))e[i]=A;return e}async commitCSS(t){const e=this.compileCSSProperties(t);this.framePool.setCSSProperties(e)}get _cframes(){return this.framePool.currentFrames}get hasDisplayTransformability(){return this.pub.metadata?.accessibility?.feature?.some(t=>t.value===ve.DISPLAY_TRANSFORMABILITY.value)??!1}eventListener(t,e){switch(t){case"_pong":this.listeners.frameLoaded(this.framePool.currentFrames[0].iframe.contentWindow),this.listeners.positionChanged(this.currentLocation);break;case"first_visible_locator":const i=at.deserialize(e);if(!i)break;this.currentLocation=new at({href:this.currentLocation.href,type:this.currentLocation.type,title:this.currentLocation.title,locations:i?.locations,text:i?.text}),this.listeners.positionChanged(this.currentLocation);break;case"text_selected":this.listeners.textSelected(e);break;case"click":case"tap":const A=e;if(A.interactiveElement){const n=new DOMParser().parseFromString(A.interactiveElement,"text/html").body.children[0];if(n.nodeType===n.ELEMENT_NODE&&n.nodeName==="A"&&n.hasAttribute("href")){const s=n.attributes.getNamedItem("href")?.value;if(s.startsWith("#"))this.go(this.currentLocation.copyWithLocations({fragments:[s.substring(1)]}),!1,()=>{});else if(s.startsWith("mailto:")||s.startsWith("tel:"))this.listeners.handleLocator(new q({href:s}).locator);else try{let o;if(s.startsWith("http://")||s.startsWith("https://"))o=s;else if(this.currentLocation.href.startsWith("http://")||this.currentLocation.href.startsWith("https://")){const h=new URL(this.currentLocation.href);o=new URL(s,h).href}else o=Jt.join(Jt.dirname(this.currentLocation.href),s);const a=this.pub.readingOrder.findWithHref(o);a?this.goLink(a,!1,()=>{}):(console.warn(`Internal link not found in readingOrder: ${o}`),this.listeners.handleLocator(new q({href:s}).locator))}catch(o){console.warn(`Couldn't resolve internal link for ${s}: ${o}`),this.listeners.handleLocator(new q({href:s}).locator)}}else console.log("Clicked on",n)}else if(t==="click"?this.listeners.click(A):this.listeners.tap(A))break;break;case"scroll":this.listeners.scroll(e);break;case"zoom":this.listeners.zoom(e);break;case"progress":this.syncLocation(e);break;case"log":console.log(this.framePool.currentFrames[0]?.source?.split("/")[3],...e);break;default:this.listeners.customEvent(t,e);break}}determineModules(){return Array.from(kt.keys()).filter(e=>yn.includes(e))}attachListener(){this.framePool.currentFrames[0]?.msg&&(this.framePool.currentFrames[0].msg.listener=(t,e)=>{this.eventListener(t,e)})}async apply(){if(await this.framePool.update(this.pub,this.currentLocation,this.determineModules()),this.attachListener(),this.pub.readingOrder.findIndexWithHref(this.currentLocation.href)<0)throw Error("Link for "+this.currentLocation.href+" not found!")}async destroy(){await this.framePool?.destroy()}async changeResource(t){if(t===0)return!1;const e=this.pub.readingOrder.findIndexWithHref(this.currentLocation.href),i=Math.max(0,Math.min(this.pub.readingOrder.items.length-1,e+t));return i===e?!1:(this.currentIndex=i,this.currentLocation=this.createCurrentLocator(),await this.apply(),!0)}updateViewport(t){this.webViewport.readingOrder=[],this.webViewport.progressions.clear(),this.webViewport.positions=null,this.currentLocation&&(this.webViewport.readingOrder.push(this.currentLocation.href),this.webViewport.progressions.set(this.currentLocation.href,t),this.currentLocation.locations?.position!==void 0&&(this.webViewport.positions=[this.currentLocation.locations.position]))}async syncLocation(t){const e=t;this.currentLocation&&(this.currentLocation=this.currentLocation.copyWithLocations({progression:e.start})),this.updateViewport(e),this.listeners.positionChanged(this.currentLocation),await this.framePool.update(this.pub,this.currentLocation,this.determineModules())}goBackward(t,e){this.changeResource(-1).then(i=>{e(i)})}goForward(t,e){this.changeResource(1).then(i=>{e(i)})}get currentLocator(){return this.currentLocation}get viewport(){return this.webViewport}get isScrollStart(){const t=this.viewport.readingOrder[0];return this.viewport.progressions.get(t)?.start===0}get isScrollEnd(){const t=this.viewport.readingOrder[this.viewport.readingOrder.length-1];return this.viewport.progressions.get(t)?.end===1}get canGoBackward(){const t=this.pub.readingOrder.items[0]?.href;return!(this.viewport.progressions.has(t)&&this.viewport.progressions.get(t)?.start===0)}get canGoForward(){const t=this.pub.readingOrder.items[this.pub.readingOrder.items.length-1]?.href;return!(this.viewport.progressions.has(t)&&this.viewport.progressions.get(t)?.end===1)}get readingProgression(){return this.pub.metadata.effectiveReadingProgression}get publication(){return this.pub}async loadLocator(t,e){let i=!1,A=typeof t.locations.getCssSelector=="function"&&t.locations.getCssSelector();if(t.text?.highlight?i=await new Promise((a,h)=>{this.framePool.currentFrames[0].msg.send("go_text",A?[t.text?.serialize(),A]:t.text?.serialize(),c=>a(c))}):A&&(i=await new Promise((a,h)=>{this.framePool.currentFrames[0].msg.send("go_text",["",A],c=>a(c))})),i){e(i);return}const n=typeof t.locations.htmlId=="function"&&t.locations.htmlId();if(n&&(i=await new Promise((a,h)=>{this.framePool.currentFrames[0].msg.send("go_id",n,c=>a(c))})),i){e(i);return}const s=t?.locations?.progression;s&&s>0?i=await new Promise((a,h)=>{this.framePool.currentFrames[0].msg.send("go_progression",s,c=>a(c))}):i=!0,e(i)}go(t,e,i){const A=t.href.split("#")[0];if(!this.pub.readingOrder.findWithHref(A))return i(this.listeners.handleLocator(t));const s=this.pub.readingOrder.findIndexWithHref(A);s>=0&&(this.currentIndex=s),this.currentLocation=this.createCurrentLocator(),this.apply().then(()=>this.loadLocator(t,o=>i(o))).then(()=>{this.attachListener()})}goLink(t,e,i){return this.go(t.locator,e,i)}createCurrentLocator(){const e=this.pub.readingOrder.items[this.currentIndex];if(!e)throw new Error("No current resource available");const A=this.currentLocation&&this.currentLocation.href===e.href&&this.currentLocation.locations.progression?this.currentLocation.locations.progression:0;return this.pub.manifest.locatorFromLink(e)||new at({href:e.href,type:e.type||"text/html",locations:new V({fragments:[],progression:A,position:this.currentIndex+1})})}}const Yn=Ki,Nn=`/*!
294
- * Readium CSS v.2.0.0-beta.19
294
+ * Readium CSS v.2.0.0-beta.20
295
295
  * Copyright (c) 2017–2025. Readium Foundation. All rights reserved.
296
296
  * Use of this source code is governed by a BSD-style license which is detailed in the
297
297
  * LICENSE file present in the project repository where this source code is maintained.
@@ -303,8 +303,8 @@ if(window.onload) window.onload = new Proxy(window.onload, {
303
303
  * L. Le Meur
304
304
  * Mickaël Menu
305
305
  * k_taka
306
- */@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__viewportWidth:100%;--RS__pageGutter:0;--RS__defaultLineLength:40rem;--RS__colGap:0;--RS__colCount:1;--RS__colWidth:100vw}@page{margin:0!important}:root{position:relative;-webkit-column-width:var(--RS__colWidth);-moz-column-width:var(--RS__colWidth);column-width:var(--RS__colWidth);-webkit-column-count:var(--RS__colCount);-moz-column-count:var(--RS__colCount);column-count:var(--RS__colCount);-webkit-column-gap:var(--RS__colGap);-moz-column-gap:var(--RS__colGap);column-gap:var(--RS__colGap);-moz-column-fill:auto;column-fill:auto;width:var(--RS__viewportWidth);height:100vh;max-width:var(--RS__viewportWidth);max-height:100vh;min-width:var(--RS__viewportWidth);min-height:100vh;padding:0!important;margin:0!important;font-size:1rem!important;box-sizing:border-box;-webkit-touch-callout:none}body{width:100%;max-width:var(--RS__defaultLineLength)!important;padding:0 var(--RS__pageGutter)!important;margin:0 auto!important;box-sizing:border-box}:root:not([style*=readium-noOverflow-on]) body{overflow:hidden}@supports (overflow: clip){:root:not([style*=readium-noOverflow-on]){overflow:clip}:root:not([style*=readium-noOverflow-on]) body{overflow:clip;overflow-clip-margin:content-box}}:root[style*=readium-scroll-on]{-webkit-columns:auto auto!important;-moz-columns:auto auto!important;columns:auto auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important}:root[style*=readium-scroll-on] body{max-width:var(--RS__defaultLineLength)!important;box-sizing:border-box!important}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:auto}@supports (overflow: clip){:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]){overflow:auto}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:clip}}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingTop] body{padding-top:var(--RS__scrollPaddingTop)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingBottom] body{padding-bottom:var(--RS__scrollPaddingBottom)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingLeft] body{padding-left:var(--RS__scrollPaddingLeft)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingRight] body{padding-right:var(--RS__scrollPaddingRight)!important}:root[style*=--USER__backgroundColor]{background-color:var(--USER__backgroundColor)!important}:root[style*=--USER__backgroundColor] *{background-color:transparent!important}:root[style*=--USER__textColor]{color:var(--USER__textColor)!important}:root[style*=--USER__textColor] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=--USER__textColor] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=--USER__linkColor] a:link,:root[style*=--USER__linkColor] a:link *{color:var(--USER__linkColor)!important}:root[style*=--USER__visitedColor] a:visited,:root[style*=--USER__visitedColor] a:visited *{color:var(--USER__visitedColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::-moz-selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__colCount]{-webkit-column-count:var(--USER__colCount);-moz-column-count:var(--USER__colCount);column-count:var(--USER__colCount);--RS__colWidth:auto}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"]{-webkit-column-count:1;-moz-column-count:1;column-count:1}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"],:root[style*="--USER__colCount: 1"],:root[style*="--USER__colCount:1"]{--RS__colWidth:100vw}:root[style*=--USER__lineLength] body{max-width:var(--USER__lineLength)!important}:root[style*=--USER__textAlign]{text-align:var(--USER__textAlign)}:root[style*=--USER__textAlign] body,:root[style*=--USER__textAlign] p:not(blockquote p):not(figcaption p):not(hgroup p),:root[style*=--USER__textAlign] li,:root[style*=--USER__textAlign] dd{text-align:var(--USER__textAlign)!important;-moz-text-align-last:auto!important;-epub-text-align-last:auto!important;text-align-last:auto!important}:root[style*=--USER__bodyHyphens]{-webkit-hyphens:var(--USER__bodyHyphens)!important;-moz-hyphens:var(--USER__bodyHyphens)!important;-ms-hyphens:var(--USER__bodyHyphens)!important;-epub-hyphens:var(--USER__bodyHyphens)!important;hyphens:var(--USER__bodyHyphens)!important}:root[style*=--USER__bodyHyphens] body,:root[style*=--USER__bodyHyphens] p,:root[style*=--USER__bodyHyphens] li,:root[style*=--USER__bodyHyphens] div,:root[style*=--USER__bodyHyphens] dd{-webkit-hyphens:inherit;-moz-hyphens:inherit;-ms-hyphens:inherit;-epub-hyphens:inherit;hyphens:inherit}:root[style*=--USER__fontFamily]{font-family:var(--USER__fontFamily)!important}:root[style*=--USER__fontFamily] *{font-family:revert!important}:root[style*=AccessibleDfA]{font-family:AccessibleDfA,Verdana,Tahoma,Trebuchet MS,sans-serif!important}:root[style*="IA Writer Duospace"]{font-family:IA Writer Duospace,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace!important}:root[style*=AccessibleDfA],:root[style*="IA Writer Duospace"],:root[style*=readium-a11y-on]{font-style:normal!important;font-weight:400!important}:root[style*=AccessibleDfA] *:not(code):not(var):not(kbd):not(samp),:root[style*="IA Writer Duospace"] *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-a11y-on] *:not(code):not(var):not(kbd):not(samp){font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important}:root[style*=AccessibleDfA] *,:root[style*="IA Writer Duospace"] *,:root[style*=readium-a11y-on] *{text-decoration:none!important;font-variant-caps:normal!important;font-variant-numeric:normal!important;font-variant-position:normal!important}:root[style*=AccessibleDfA] sup,:root[style*="IA Writer Duospace"] sup,:root[style*=readium-a11y-on] sup,:root[style*=AccessibleDfA] sub,:root[style*="IA Writer Duospace"] sub,:root[style*=readium-a11y-on] sub{font-size:1rem!important;vertical-align:baseline!important}:root:not([style*=readium-deprecatedFontSize-on]):not([style*=readium-iOSPatch-on])[style*=--USER__fontSize] body{zoom:var(--USER__fontSize)!important}:root[style*=readium-iOSPatch-on][style*=--USER__fontSize] body{-webkit-text-size-adjust:var(--USER__fontSize)!important}@supports not (zoom: 1){:root[style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}}:root[style*=readium-deprecatedFontSize-on][style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}:root[style*=--USER__lineHeight]{line-height:var(--USER__lineHeight)!important}:root[style*=--USER__lineHeight] body,:root[style*=--USER__lineHeight] p,:root[style*=--USER__lineHeight] li,:root[style*=--USER__lineHeight] div{line-height:inherit}:root[style*=--USER__paraSpacing] p{margin-top:var(--USER__paraSpacing)!important;margin-bottom:var(--USER__paraSpacing)!important}:root[style*=--USER__paraIndent] p{text-indent:var(--USER__paraIndent)!important}:root[style*=--USER__paraIndent] p *,:root[style*=--USER__paraIndent] p:first-letter{text-indent:0!important}:root[style*=--USER__wordSpacing] h1,:root[style*=--USER__wordSpacing] h2,:root[style*=--USER__wordSpacing] h3,:root[style*=--USER__wordSpacing] h4,:root[style*=--USER__wordSpacing] h5,:root[style*=--USER__wordSpacing] h6,:root[style*=--USER__wordSpacing] p,:root[style*=--USER__wordSpacing] li,:root[style*=--USER__wordSpacing] div,:root[style*=--USER__wordSpacing] dt,:root[style*=--USER__wordSpacing] dd{word-spacing:var(--USER__wordSpacing)}:root[style*=--USER__letterSpacing] h1,:root[style*=--USER__letterSpacing] h2,:root[style*=--USER__letterSpacing] h3,:root[style*=--USER__letterSpacing] h4,:root[style*=--USER__letterSpacing] h5,:root[style*=--USER__letterSpacing] h6,:root[style*=--USER__letterSpacing] p,:root[style*=--USER__letterSpacing] li,:root[style*=--USER__letterSpacing] div,:root[style*=--USER__letterSpacing] dt,:root[style*=--USER__letterSpacing] dd{letter-spacing:var(--USER__letterSpacing);font-variant:none}:root[style*=--USER__fontWeight] body{font-weight:var(--USER__fontWeight)!important}:root[style*=--USER__fontWeight] b,:root[style*=--USER__fontWeight] strong{font-weight:bolder}:root[style*=--USER__fontWidth] body{font-stretch:var(--USER__fontWidth)!important}:root[style*=--USER__fontOpticalSizing] body{font-optical-sizing:var(--USER__fontOpticalSizing)!important}:root[style*=readium-blend-on] svg,:root[style*=readium-blend-on] img{background-color:transparent!important;mix-blend-mode:multiply!important}:root[style*=--USER__darkenImages] img{-webkit-filter:brightness(var(--USER__darkenImages))!important;filter:brightness(var(--USER__darkenImages))!important}:root[style*=readium-darken-on] img{-webkit-filter:brightness(80%)!important;filter:brightness(80%)!important}:root[style*=--USER__invertImages] img{-webkit-filter:invert(var(--USER__invertImages))!important;filter:invert(var(--USER__invertImages))!important}:root[style*=readium-invert-on] img{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=--USER__darkenImages][style*=--USER__invertImages] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important;filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important}:root[style*=readium-darken-on][style*=--USER__invertImages] img{-webkit-filter:brightness(80%) invert(var(--USER__invertImages))!important;filter:brightness(80%) invert(var(--USER__invertImages))!important}:root[style*=--USER__darkenImages][style*=readium-invert-on] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(100%)!important;filter:brightness(var(--USER__darkenImages)) invert(100%)!important}:root[style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%) invert(100%)!important;filter:brightness(80%) invert(100%)!important}:root[style*=--USER__invertGaiji] img[class*=gaiji]{-webkit-filter:invert(var(--USER__invertGaiji))!important;filter:invert(var(--USER__invertGaiji))!important}:root[style*=readium-invertGaiji-on] img[class*=gaiji]{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=readium-normalize-on]{--USER__typeScale:1.2}:root[style*=readium-normalize-on] p,:root[style*=readium-normalize-on] li,:root[style*=readium-normalize-on] div,:root[style*=readium-normalize-on] pre,:root[style*=readium-normalize-on] dd{font-size:1rem!important}:root[style*=readium-normalize-on] h1{font-size:1.75rem!important;font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h2{font-size:1.5rem!important;font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h3{font-size:1.25rem!important;font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h4,:root[style*=readium-normalize-on] h5,:root[style*=readium-normalize-on] h6{font-size:1rem!important}:root[style*=readium-normalize-on] small{font-size:smaller!important}:root[style*=readium-normalize-on] sub,:root[style*=readium-normalize-on] sup{font-size:67.5%!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h1{font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h2{font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h3{font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-iPadOSPatch-on] body{-webkit-text-size-adjust:none}:root[style*=readium-iPadOSPatch-on] p,:root[style*=readium-iPadOSPatch-on] h1,:root[style*=readium-iPadOSPatch-on] h2,:root[style*=readium-iPadOSPatch-on] h3,:root[style*=readium-iPadOSPatch-on] h4,:root[style*=readium-iPadOSPatch-on] h5,:root[style*=readium-iPadOSPatch-on] h6,:root[style*=readium-iPadOSPatch-on] li,:root[style*=readium-iPadOSPatch-on] th,:root[style*=readium-iPadOSPatch-on] td,:root[style*=readium-iPadOSPatch-on] dt,:root[style*=readium-iPadOSPatch-on] dd,:root[style*=readium-iPadOSPatch-on] pre,:root[style*=readium-iPadOSPatch-on] address,:root[style*=readium-iPadOSPatch-on] details,:root[style*=readium-iPadOSPatch-on] summary,:root[style*=readium-iPadOSPatch-on] figcaption,:root[style*=readium-iPadOSPatch-on] div:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)),:root[style*=readium-iPadOSPatch-on] aside:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)){-webkit-text-zoom:reset}:root[style*=readium-iPadOSPatch-on] abbr,:root[style*=readium-iPadOSPatch-on] b,:root[style*=readium-iPadOSPatch-on] bdi,:root[style*=readium-iPadOSPatch-on] bdo,:root[style*=readium-iPadOSPatch-on] cite,:root[style*=readium-iPadOSPatch-on] code,:root[style*=readium-iPadOSPatch-on] dfn,:root[style*=readium-iPadOSPatch-on] em,:root[style*=readium-iPadOSPatch-on] i,:root[style*=readium-iPadOSPatch-on] kbd,:root[style*=readium-iPadOSPatch-on] mark,:root[style*=readium-iPadOSPatch-on] q,:root[style*=readium-iPadOSPatch-on] rp,:root[style*=readium-iPadOSPatch-on] rt,:root[style*=readium-iPadOSPatch-on] ruby,:root[style*=readium-iPadOSPatch-on] s,:root[style*=readium-iPadOSPatch-on] samp,:root[style*=readium-iPadOSPatch-on] small,:root[style*=readium-iPadOSPatch-on] span,:root[style*=readium-iPadOSPatch-on] strong,:root[style*=readium-iPadOSPatch-on] sub,:root[style*=readium-iPadOSPatch-on] sup,:root[style*=readium-iPadOSPatch-on] time,:root[style*=readium-iPadOSPatch-on] u,:root[style*=readium-iPadOSPatch-on] var{-webkit-text-zoom:normal}:root[style*=readium-iPadOSPatch-on] p:not(:has(b,cite,em,i,q,s,small,span,strong)):first-line{-webkit-text-zoom:normal}`,xn=`/*!
307
- * Readium CSS v.2.0.0-beta.19
306
+ */@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);:root{--RS__viewportWidth:100%;--RS__pageGutter:0;--RS__defaultLineLength:40rem;--RS__colGap:0;--RS__colCount:1;--RS__colWidth:100vw}@page{margin:0!important}:root{position:relative;-webkit-column-width:var(--RS__colWidth);-moz-column-width:var(--RS__colWidth);column-width:var(--RS__colWidth);-webkit-column-count:var(--RS__colCount);-moz-column-count:var(--RS__colCount);column-count:var(--RS__colCount);-webkit-column-gap:var(--RS__colGap);-moz-column-gap:var(--RS__colGap);column-gap:var(--RS__colGap);-moz-column-fill:auto;column-fill:auto;width:var(--RS__viewportWidth);height:100vh;max-width:var(--RS__viewportWidth);max-height:100vh;min-width:var(--RS__viewportWidth);min-height:100vh;padding:0!important;margin:0!important;font-size:1rem!important;box-sizing:border-box;-webkit-touch-callout:none}body{width:100%;max-width:var(--RS__defaultLineLength)!important;padding:0 var(--RS__pageGutter)!important;margin:0 auto!important;box-sizing:border-box}:root:not([style*=readium-noOverflow-on]) body{overflow:hidden}@supports (overflow: clip){:root:not([style*=readium-noOverflow-on]){overflow:clip}:root:not([style*=readium-noOverflow-on]) body{overflow:clip;overflow-clip-margin:content-box}}:root[style*=readium-scroll-on]{-webkit-columns:auto auto!important;-moz-columns:auto auto!important;columns:auto auto!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important}:root[style*=readium-scroll-on] body{max-width:var(--RS__defaultLineLength)!important;box-sizing:border-box!important}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:auto}@supports (overflow: clip){:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]){overflow:auto}:root[style*=readium-scroll-on]:not([style*=readium-noOverflow-on]) body{overflow:clip}}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingTop] body{padding-top:var(--RS__scrollPaddingTop)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingBottom] body{padding-bottom:var(--RS__scrollPaddingBottom)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingLeft] body{padding-left:var(--RS__scrollPaddingLeft)!important}:root[style*=readium-scroll-on][style*=--RS__scrollPaddingRight] body{padding-right:var(--RS__scrollPaddingRight)!important}:root[style*=--USER__backgroundColor]{background-color:var(--USER__backgroundColor)!important}:root[style*=--USER__backgroundColor] *{background-color:transparent!important}:root[style*=--USER__textColor]{color:var(--USER__textColor)!important}:root[style*=--USER__textColor] *:not(a){color:inherit!important;background-color:transparent!important;border-color:currentcolor!important}:root[style*=--USER__textColor] svg text{fill:currentcolor!important;stroke:none!important}:root[style*=--USER__linkColor] a:link,:root[style*=--USER__linkColor] a:link *{color:var(--USER__linkColor)!important}:root[style*=--USER__visitedColor] a:visited,:root[style*=--USER__visitedColor] a:visited *{color:var(--USER__visitedColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::-moz-selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__selectionBackgroundColor][style*=--USER__selectionTextColor] ::selection{color:var(--USER__selectionTextColor)!important;background-color:var(--USER__selectionBackgroundColor)!important}:root[style*=--USER__colCount]{-webkit-column-count:var(--USER__colCount);-moz-column-count:var(--USER__colCount);column-count:var(--USER__colCount);--RS__colWidth:auto}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"]{-webkit-column-count:1;-moz-column-count:1;column-count:1}:root[style*="--USER__colCount: 0"],:root[style*="--USER__colCount:0"],:root[style*="--USER__colCount: 1"],:root[style*="--USER__colCount:1"]{--RS__colWidth:100vw}:root[style*=--USER__lineLength] body{max-width:var(--USER__lineLength)!important}:root[style*=--USER__textAlign]{text-align:var(--USER__textAlign)}:root[style*=--USER__textAlign] body,:root[style*=--USER__textAlign] p:not([class*=title]):not(blockquote p):not(figcaption p):not(header p):not(hgroup p):not(div:has(+*)>h1+p):not(div:has(+*)>p:has(+h1)),:root[style*=--USER__textAlign] li,:root[style*=--USER__textAlign] dd{text-align:var(--USER__textAlign)!important;-moz-text-align-last:auto!important;-epub-text-align-last:auto!important;text-align-last:auto!important}:root[style*=--USER__bodyHyphens]{-webkit-hyphens:var(--USER__bodyHyphens)!important;-moz-hyphens:var(--USER__bodyHyphens)!important;-ms-hyphens:var(--USER__bodyHyphens)!important;-epub-hyphens:var(--USER__bodyHyphens)!important;hyphens:var(--USER__bodyHyphens)!important}:root[style*=--USER__bodyHyphens] body,:root[style*=--USER__bodyHyphens] p,:root[style*=--USER__bodyHyphens] li,:root[style*=--USER__bodyHyphens] div,:root[style*=--USER__bodyHyphens] dd{-webkit-hyphens:inherit;-moz-hyphens:inherit;-ms-hyphens:inherit;-epub-hyphens:inherit;hyphens:inherit}:root[style*=--USER__fontFamily]{font-family:var(--USER__fontFamily)!important}:root[style*=--USER__fontFamily] *{font-family:revert!important}:root[style*=AccessibleDfA]{font-family:AccessibleDfA,Verdana,Tahoma,Trebuchet MS,sans-serif!important}:root[style*="IA Writer Duospace"]{font-family:IA Writer Duospace,Menlo,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier,monospace!important}:root[style*=AccessibleDfA],:root[style*="IA Writer Duospace"],:root[style*=readium-a11y-on]{font-style:normal!important;font-weight:400!important}:root[style*=AccessibleDfA] body *:not(code):not(var):not(kbd):not(samp),:root[style*="IA Writer Duospace"] body *:not(code):not(var):not(kbd):not(samp),:root[style*=readium-a11y-on] body *:not(code):not(var):not(kbd):not(samp){font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important}:root[style*=AccessibleDfA] body *,:root[style*="IA Writer Duospace"] body *,:root[style*=readium-a11y-on] body *{text-decoration:none!important;font-variant-caps:normal!important;font-variant-numeric:normal!important;font-variant-position:normal!important}:root[style*=AccessibleDfA] sup,:root[style*="IA Writer Duospace"] sup,:root[style*=readium-a11y-on] sup,:root[style*=AccessibleDfA] sub,:root[style*="IA Writer Duospace"] sub,:root[style*=readium-a11y-on] sub{font-size:1rem!important;vertical-align:baseline!important}:root:not([style*=readium-deprecatedFontSize-on]):not([style*=readium-iOSPatch-on])[style*=--USER__fontSize] body{zoom:var(--USER__fontSize)!important}:root[style*=readium-iOSPatch-on][style*=--USER__fontSize] body{-webkit-text-size-adjust:var(--USER__fontSize)!important}@supports not (zoom: 1){:root[style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}}:root[style*=readium-deprecatedFontSize-on][style*=--USER__fontSize]{font-size:var(--USER__fontSize)!important}:root[style*=--USER__lineHeight]{line-height:var(--USER__lineHeight)!important}:root[style*=--USER__lineHeight] body,:root[style*=--USER__lineHeight] p,:root[style*=--USER__lineHeight] li,:root[style*=--USER__lineHeight] div{line-height:inherit}:root[style*=--USER__paraSpacing] p{margin-top:var(--USER__paraSpacing)!important;margin-bottom:var(--USER__paraSpacing)!important}:root[style*=--USER__paraIndent] p{text-indent:var(--USER__paraIndent)!important}:root[style*=--USER__paraIndent] p *,:root[style*=--USER__paraIndent] p:first-letter{text-indent:0!important}:root[style*=--USER__wordSpacing] h1,:root[style*=--USER__wordSpacing] h2,:root[style*=--USER__wordSpacing] h3,:root[style*=--USER__wordSpacing] h4,:root[style*=--USER__wordSpacing] h5,:root[style*=--USER__wordSpacing] h6,:root[style*=--USER__wordSpacing] p,:root[style*=--USER__wordSpacing] li,:root[style*=--USER__wordSpacing] div,:root[style*=--USER__wordSpacing] dt,:root[style*=--USER__wordSpacing] dd{word-spacing:var(--USER__wordSpacing)}:root[style*=--USER__letterSpacing] h1,:root[style*=--USER__letterSpacing] h2,:root[style*=--USER__letterSpacing] h3,:root[style*=--USER__letterSpacing] h4,:root[style*=--USER__letterSpacing] h5,:root[style*=--USER__letterSpacing] h6,:root[style*=--USER__letterSpacing] p,:root[style*=--USER__letterSpacing] li,:root[style*=--USER__letterSpacing] div,:root[style*=--USER__letterSpacing] dt,:root[style*=--USER__letterSpacing] dd{letter-spacing:var(--USER__letterSpacing);font-variant:none}:root[style*=--USER__fontWeight] body{font-weight:var(--USER__fontWeight)!important}:root[style*=--USER__fontWeight] b,:root[style*=--USER__fontWeight] strong{font-weight:bolder}:root[style*=--USER__fontWidth] body{font-stretch:var(--USER__fontWidth)!important}:root[style*=--USER__fontOpticalSizing] body{font-optical-sizing:var(--USER__fontOpticalSizing)!important}:root[style*=readium-blend-on] svg,:root[style*=readium-blend-on] img{background-color:transparent!important;mix-blend-mode:multiply!important}:root[style*=--USER__darkenImages] img{-webkit-filter:brightness(var(--USER__darkenImages))!important;filter:brightness(var(--USER__darkenImages))!important}:root[style*=readium-darken-on] img{-webkit-filter:brightness(80%)!important;filter:brightness(80%)!important}:root[style*=--USER__invertImages] img{-webkit-filter:invert(var(--USER__invertImages))!important;filter:invert(var(--USER__invertImages))!important}:root[style*=readium-invert-on] img{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=--USER__darkenImages][style*=--USER__invertImages] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important;filter:brightness(var(--USER__darkenImages)) invert(var(--USER__invertImages))!important}:root[style*=readium-darken-on][style*=--USER__invertImages] img{-webkit-filter:brightness(80%) invert(var(--USER__invertImages))!important;filter:brightness(80%) invert(var(--USER__invertImages))!important}:root[style*=--USER__darkenImages][style*=readium-invert-on] img{-webkit-filter:brightness(var(--USER__darkenImages)) invert(100%)!important;filter:brightness(var(--USER__darkenImages)) invert(100%)!important}:root[style*=readium-darken-on][style*=readium-invert-on] img{-webkit-filter:brightness(80%) invert(100%)!important;filter:brightness(80%) invert(100%)!important}:root[style*=--USER__invertGaiji] img[class*=gaiji]{-webkit-filter:invert(var(--USER__invertGaiji))!important;filter:invert(var(--USER__invertGaiji))!important}:root[style*=readium-invertGaiji-on] img[class*=gaiji]{-webkit-filter:invert(100%)!important;filter:invert(100%)!important}:root[style*=readium-normalize-on]{--USER__typeScale:1.2}:root[style*=readium-normalize-on] p,:root[style*=readium-normalize-on] li,:root[style*=readium-normalize-on] div,:root[style*=readium-normalize-on] pre,:root[style*=readium-normalize-on] dd{font-size:1rem!important}:root[style*=readium-normalize-on] h1{font-size:1.75rem!important;font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h2{font-size:1.5rem!important;font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h3{font-size:1.25rem!important;font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-normalize-on] h4,:root[style*=readium-normalize-on] h5,:root[style*=readium-normalize-on] h6{font-size:1rem!important}:root[style*=readium-normalize-on] small{font-size:smaller!important}:root[style*=readium-normalize-on] sub,:root[style*=readium-normalize-on] sup{font-size:67.5%!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h1{font-size:calc(((1rem * var(--USER__typeScale)) * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h2{font-size:calc((1rem * var(--USER__typeScale)) * var(--USER__typeScale))!important}:root[style*=readium-normalize-on][style*=--USER__typeScale] h3{font-size:calc(1rem * var(--USER__typeScale))!important}:root[style*=readium-iPadOSPatch-on] body{-webkit-text-size-adjust:none}:root[style*=readium-iPadOSPatch-on] p,:root[style*=readium-iPadOSPatch-on] h1,:root[style*=readium-iPadOSPatch-on] h2,:root[style*=readium-iPadOSPatch-on] h3,:root[style*=readium-iPadOSPatch-on] h4,:root[style*=readium-iPadOSPatch-on] h5,:root[style*=readium-iPadOSPatch-on] h6,:root[style*=readium-iPadOSPatch-on] li,:root[style*=readium-iPadOSPatch-on] th,:root[style*=readium-iPadOSPatch-on] td,:root[style*=readium-iPadOSPatch-on] dt,:root[style*=readium-iPadOSPatch-on] dd,:root[style*=readium-iPadOSPatch-on] pre,:root[style*=readium-iPadOSPatch-on] address,:root[style*=readium-iPadOSPatch-on] details,:root[style*=readium-iPadOSPatch-on] summary,:root[style*=readium-iPadOSPatch-on] figcaption,:root[style*=readium-iPadOSPatch-on] div:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)),:root[style*=readium-iPadOSPatch-on] aside:not(:has(p,h1,h2,h3,h4,h5,h6,li,th,td,dt,dd,pre,address,aside,details,figcaption,summary)){-webkit-text-zoom:reset}:root[style*=readium-iPadOSPatch-on] abbr,:root[style*=readium-iPadOSPatch-on] b,:root[style*=readium-iPadOSPatch-on] bdi,:root[style*=readium-iPadOSPatch-on] bdo,:root[style*=readium-iPadOSPatch-on] cite,:root[style*=readium-iPadOSPatch-on] code,:root[style*=readium-iPadOSPatch-on] dfn,:root[style*=readium-iPadOSPatch-on] em,:root[style*=readium-iPadOSPatch-on] i,:root[style*=readium-iPadOSPatch-on] kbd,:root[style*=readium-iPadOSPatch-on] mark,:root[style*=readium-iPadOSPatch-on] q,:root[style*=readium-iPadOSPatch-on] rp,:root[style*=readium-iPadOSPatch-on] rt,:root[style*=readium-iPadOSPatch-on] ruby,:root[style*=readium-iPadOSPatch-on] s,:root[style*=readium-iPadOSPatch-on] samp,:root[style*=readium-iPadOSPatch-on] small,:root[style*=readium-iPadOSPatch-on] span,:root[style*=readium-iPadOSPatch-on] strong,:root[style*=readium-iPadOSPatch-on] sub,:root[style*=readium-iPadOSPatch-on] sup,:root[style*=readium-iPadOSPatch-on] time,:root[style*=readium-iPadOSPatch-on] u,:root[style*=readium-iPadOSPatch-on] var{-webkit-text-zoom:normal}:root[style*=readium-iPadOSPatch-on] p:not(:has(b,cite,em,i,q,s,small,span,strong)):first-line{-webkit-text-zoom:normal}`,xn=`/*!
307
+ * Readium CSS v.2.0.0-beta.20
308
308
  * Copyright (c) 2017–2025. Readium Foundation. All rights reserved.
309
309
  * Use of this source code is governed by a BSD-style license which is detailed in the
310
310
  * LICENSE file present in the project repository where this source code is maintained.
@@ -317,7 +317,7 @@ if(window.onload) window.onload = new Proxy(window.onload, {
317
317
  * Mickaël Menu
318
318
  * k_taka
319
319
  */@namespace url(http://www.w3.org/1999/xhtml);@namespace epub url(http://www.idpf.org/2007/ops);@namespace m url(http://www.w3.org/1998/Math/MathML);@namespace svg url(http://www.w3.org/2000/svg);@-ms-viewport{width:device-width}@viewport{width:device-width;zoom:1}:root{--RS__monospaceTf:ui-monospace, "Andale Mono", "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--RS__humanistTf:Seravek, Calibri, "Gill Sans Nova", Roboto, Ubuntu, "DejaVu Sans", source-sans-pro, sans-serif;--RS__sansTf:-ui-sans-serif, -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Inter, Roboto, "Helvetica Neue", "Arial Nova", "Liberation Sans", Arial, sans-serif;--RS__modernTf:Athelas, Constantia, Charter, "Bitstream Charter", Cambria, "Georgia Pro", Georgia, serif;--RS__oldStyleTf:"Iowan Old Style", Sitka, "Sitka Text", Palatino, "Book Antiqua", "URW Palladio L", P052, serif;--RS__baseFontFamily:var(--RS__oldStyleTf);--RS__lineHeightCompensation:1;--RS__baseLineHeight:calc(1.5 * var(--RS__lineHeightCompensation));--RS__selectionTextColor:inherit;--RS__selectionBackgroundColor:#b4d8fe;--RS__visitedColor:#551A8B;--RS__linkColor:#0000EE;--RS__textColor:#121212;--RS__backgroundColor:#FFFFFF;color:var(--RS__textColor)!important;background-color:var(--RS__backgroundColor)!important}::-moz-selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}::selection{color:var(--RS__selectionTextColor);background-color:var(--RS__selectionBackgroundColor)}html{font-family:var(--RS__baseFontFamily);line-height:1.6;line-height:var(--RS__baseLineHeight);text-rendering:optimizelegibility}h1,h2,h3{line-height:normal}:lang(ja),:lang(zh),:lang(ko){word-wrap:break-word;-webkit-line-break:strict;-epub-line-break:strict;line-break:strict}math{font-family:"Latin Modern Math","STIX Two Math","XITS Math","STIX Math","Libertinus Math","TeX Gyre Termes Math","TeX Gyre Bonum Math",TeX Gyre Schola,"DejaVu Math TeX Gyre","TeX Gyre Pagella Math","Asana Math","Cambria Math","Lucida Bright Math","Minion Math",STIXGeneral,STIXSizeOneSym,Symbol,Times New Roman,serif}:lang(am){--RS__baseFontFamily:kefa, nyala, roboto, noto, "Noto Sans Ethiopic", serif;--RS__lineHeightCompensation:1.167}:lang(ar){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(bn){--RS__baseFontFamily:"Kohinoor Bangla", "Bangla Sangam MN", vrinda, roboto, noto, "Noto Sans Bengali", sans-serif;--RS__lineHeightCompensation:1.067}:lang(bo){--RS__baseFontFamily:kailasa, "Microsoft Himalaya", roboto, noto, "Noto Sans Tibetan", sans-serif}:lang(chr){--RS__baseFontFamily:"Plantagenet Cherokee", roboto, noto, "Noto Sans Cherokee";--RS__lineHeightCompensation:1.167}:lang(fa){--RS__baseFontFamily:"Geeza Pro", "Arabic Typesetting", roboto, noto, "Noto Naskh Arabic", "Times New Roman", serif}:lang(gu){--RS__baseFontFamily:"Gujarati Sangam MN", "Nirmala UI", shruti, roboto, noto, "Noto Sans Gujarati", sans-serif;--RS__lineHeightCompensation:1.167}:lang(he){--RS__baseFontFamily:"New Peninim MT", "Arial Hebrew", gisha, "Times New Roman", roboto, noto, "Noto Sans Hebrew" sans-serif;--RS__lineHeightCompensation:1.1}:lang(hi){--RS__baseFontFamily:"Kohinoor Devanagari", "Devanagari Sangam MN", kokila, "Nirmala UI", roboto, noto, "Noto Sans Devanagari", sans-serif;--RS__lineHeightCompensation:1.1}:lang(hy){--RS__baseFontFamily:mshtakan, sylfaen, roboto, noto, "Noto Serif Armenian", serif}:lang(iu){--RS__baseFontFamily:"Euphemia UCAS", euphemia, roboto, noto, "Noto Sans Canadian Aboriginal", sans-serif}:lang(ja){--RS__baseFontFamily:yugothic, "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Meiryo UI", "MS Gothic", roboto, noto, "Noto Sans CJK JP", sans-serif;--RS__lineHeightCompensation:1.167;--RS__serif-ja:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDPMincho", "Yu Mincho", "MS P明朝", "MS PMincho", serif;--RS__sans-serif-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDPGothic", "Yu Gothic", "MS Pゴシック", "MS PGothic", sans-serif;--RS__serif-ja-v:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "YuMincho", "BIZ UDMincho", "Yu Mincho", "MS明朝", "MS Mincho", serif;--RS__sans-serif-ja-v:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3", "YuGothic", "Yu Gothic Medium", "BIZ UDGothic", "Yu Gothic", "MSゴシック", "MS Gothic", sans-serif}:lang(km){--RS__baseFontFamily:"Khmer Sangam MN", "Leelawadee UI", "Khmer UI", roboto, noto, "Noto Sans Khmer", sans-serif;--RS__lineHeightCompensation:1.067}:lang(kn){--RS__baseFontFamily:"Kannada Sangam MN", "Nirmala UI", tunga, roboto, noto, "Noto Sans Kannada", sans-serif;--RS__lineHeightCompensation:1.1}:lang(ko){--RS__baseFontFamily:"Nanum Gothic", "Apple SD Gothic Neo", "Malgun Gothic", roboto, noto, "Noto Sans CJK KR", sans-serif;--RS__lineHeightCompensation:1.167}:lang(lo){--RS__baseFontFamily:"Lao Sangam MN", "Leelawadee UI", "Lao UI", roboto, noto, "Noto Sans Lao", sans-serif}:lang(ml){--RS__baseFontFamily:"Malayalam Sangam MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Malayalam", sans-serif;--RS__lineHeightCompensation:1.067}:lang(or){--RS__baseFontFamily:"Oriya Sangam MN", "Nirmala UI", kalinga, roboto, noto, "Noto Sans Oriya", sans-serif;--RS__lineHeightCompensation:1.167}:lang(pa){--RS__baseFontFamily:"Gurmukhi MN", "Nirmala UI", kartika, roboto, noto, "Noto Sans Gurmukhi", sans-serif;--RS__lineHeightCompensation:1.1}:lang(si){--RS__baseFontFamily:"Sinhala Sangam MN", "Nirmala UI", "Iskoola Pota", roboto, noto, "Noto Sans Sinhala", sans-serif;--RS__lineHeightCompensation:1.167}:lang(ta){--RS__baseFontFamily:"Tamil Sangam MN", "Nirmala UI", latha, roboto, noto, "Noto Sans Tamil", sans-serif;--RS__lineHeightCompensation:1.067}:lang(te){--RS__baseFontFamily:"Kohinoor Telugu", "Telugu Sangam MN", "Nirmala UI", gautami, roboto, noto, "Noto Sans Telugu", sans-serif}:lang(th){--RS__baseFontFamily:"Thonburi", "Leelawadee UI", "Cordia New", roboto, noto, "Noto Sans Thai", sans-serif;--RS__lineHeightCompensation:1.067}:lang(zh){--RS__baseFontFamily:"方体", "PingFang SC", "黑体", "Heiti SC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK SC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-Hant),:lang(zh-TW){--RS__baseFontFamily:"方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}:lang(zh-HK){--RS__baseFontFamily:"方體", "PingFang HK", "方體", "PingFang TC", "黑體", "Heiti TC", "Microsoft JhengHei UI", "Microsoft JhengHei", roboto, noto, "Noto Sans CJK TC", sans-serif;--RS__lineHeightCompensation:1.167}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Regular.woff2) format("woff2"),url(./assets/AccessibleDfA-Regular.woff) format("woff")}@font-face{font-family:AccessibleDfA;font-style:normal;font-weight:700;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Bold.woff2) format("woff2")}@font-face{font-family:AccessibleDfA;font-style:italic;font-weight:400;src:local("AccessibleDfA"),url(./assets/AccessibleDfA-Italic.woff2) format("woff2")}@font-face{font-family:IA Writer Duospace;font-style:normal;font-weight:400;src:local("iAWriterDuospace-Regular"),url(./assets/iAWriterDuospace-Regular.ttf) format("truetype")}body{widows:2;orphans:2}figcaption,th,td{widows:1;orphans:1}h2,h3,h4,h5,h6,dt,hr,caption{-webkit-column-break-after:avoid;page-break-after:avoid;break-after:avoid}h1,h2,h3,h4,h5,h6,dt,figure,tr{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}body{-webkit-hyphenate-character:"-";-moz-hyphenate-character:"-";-ms-hyphenate-character:"-";hyphenate-character:"-";-webkit-hyphenate-limit-lines:3;-ms-hyphenate-limit-lines:3;hyphenate-limit-lines:3}h1,h2,h3,h4,h5,h6,dt,figcaption,pre,caption,address,center,code,var{-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;-epub-hyphens:none;hyphens:none}body{font-variant-numeric:oldstyle-nums proportional-nums}:lang(ja) body,:lang(zh) body,:lang(ko) body{font-variant-numeric:lining-nums proportional-nums}h1,h2,h3,h4,h5,h6,dt{font-variant-numeric:lining-nums proportional-nums}table{font-variant-numeric:lining-nums tabular-nums}code,var{font-variant-ligatures:none;font-variant-numeric:lining-nums tabular-nums slashed-zero}rt{font-variant-east-asian:ruby}:lang(ar){font-variant-ligatures:common-ligatures}:lang(ko){font-kerning:normal}hr{color:inherit;border-color:currentcolor}table,th,td{border-color:currentcolor}figure,blockquote{margin:1em 5%}ul,ol{padding-left:5%}dd{margin-left:5%}pre{white-space:pre-wrap;-ms-tab-size:2;-moz-tab-size:2;-webkit-tab-size:2;tab-size:2}abbr[title],acronym[title]{text-decoration:dotted underline}nobr wbr{white-space:normal}ruby>rt,ruby>rp{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}*:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)),*:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)),*:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)),:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) cite,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) dfn,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) em,:lang(ja):not(:lang(ja-Latn)):not(:lang(ja-Cyrl)) i,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) cite,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) dfn,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) em,:lang(zh):not(:lang(zh-Latn)):not(:lang(zh-Cyrl)) i,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) cite,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) dfn,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) em,:lang(ko):not(:lang(ko-Latn)):not(:lang(ko-Cyrl)) i{font-style:normal}:lang(ja) a,:lang(zh) a,:lang(ko) a{text-decoration:none}:root{--RS__maxMediaWidth:100%;--RS__maxMediaHeight:95vh;--RS__boxSizingMedia:border-box;--RS__boxSizingTable:border-box}a,a span,span a,h1,h2,h3,h4,h5,h6{word-wrap:break-word}div{max-width:var(--RS__maxMediaWidth)}img,svg|svg,video{object-fit:contain;width:auto;height:auto;max-width:var(--RS__maxMediaWidth);max-height:var(--RS__maxMediaHeight)!important;box-sizing:var(--RS__boxSizingMedia);-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}audio{max-width:100%;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}table{max-width:var(--RS__maxMediaWidth);box-sizing:var(--RS__boxSizingTable)}`,Tn=`/*!
320
- * Readium CSS v.2.0.0-beta.19
320
+ * Readium CSS v.2.0.0-beta.20
321
321
  * Copyright (c) 2017–2025. Readium Foundation. All rights reserved.
322
322
  * Use of this source code is governed by a BSD-style license which is detailed in the
323
323
  * LICENSE file present in the project repository where this source code is maintained.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@readium/navigator",
3
- "version": "2.2.2",
3
+ "version": "2.2.3",
4
4
  "type": "module",
5
5
  "description": "Next generation SDK for publications in Web Apps",
6
6
  "author": "readium",
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "devDependencies": {
51
51
  "@laynezh/vite-plugin-lib-assets": "^2.1.0",
52
- "@readium/css": "2.0.0-beta.19",
52
+ "@readium/css": "2.0.0-beta.20",
53
53
  "@readium/navigator-html-injectables": "workspace:*",
54
54
  "@readium/shared": "workspace:*",
55
55
  "@types/path-browserify": "^1.0.3",
@@ -1,26 +1,21 @@
1
1
  // WebPubCSS is equivalent to ReadiumCSS for WebPub
2
+ // Respects the stylesheet order from after
2
3
 
3
4
  export const webPubStylesheet = `
4
- /* FontFamily */
5
-
6
- :root[style*="--USER__fontFamily"] {
7
- font-family: var(--USER__fontFamily) !important;
8
- }
9
-
10
- :root[style*="--USER__fontFamily"] * {
11
- font-family: revert !important;
12
- }
13
-
14
- /* FontWeight */
5
+ /* TextAlign */
15
6
 
16
- :root[style*="--USER__fontWeight"] body {
17
- font-weight: var(--USER__fontWeight) !important;
7
+ :root[style*="--USER__textAlign"] {
8
+ text-align: var(--USER__textAlign);
18
9
  }
19
10
 
20
- /* Attempt to handle known bolds */
21
- :root[style*="--USER__fontWeight"] b,
22
- :root[style*="--USER__fontWeight"] strong {
23
- font-weight: bolder;
11
+ :root[style*="--USER__textAlign"] body,
12
+ :root[style*="--USER__textAlign"] p:not([class*="title"]):not(blockquote p):not(figcaption p):not(header p):not(hgroup p):not(div:has(+ *) > h1 + p):not(div:has(+ *) > p:has(+ h1)),
13
+ :root[style*="--USER__textAlign"] li,
14
+ :root[style*="--USER__textAlign"] dd {
15
+ text-align: var(--USER__textAlign) !important;
16
+ -moz-text-align-last: auto !important;
17
+ -epub-text-align-last: auto !important;
18
+ text-align-last: auto !important;
24
19
  }
25
20
 
26
21
  /* Hyphens */
@@ -45,84 +40,14 @@ export const webPubStylesheet = `
45
40
  hyphens: inherit;
46
41
  }
47
42
 
48
- /* LetterSpacing */
49
-
50
- :root[style*="--USER__letterSpacing"] h1,
51
- :root[style*="--USER__letterSpacing"] h2,
52
- :root[style*="--USER__letterSpacing"] h3,
53
- :root[style*="--USER__letterSpacing"] h4,
54
- :root[style*="--USER__letterSpacing"] h5,
55
- :root[style*="--USER__letterSpacing"] h6,
56
- :root[style*="--USER__letterSpacing"] p,
57
- :root[style*="--USER__letterSpacing"] li,
58
- :root[style*="--USER__letterSpacing"] div,
59
- :root[style*="--USER__letterSpacing"] dt,
60
- :root[style*="--USER__letterSpacing"] dd {
61
- letter-spacing: var(--USER__letterSpacing);
62
- font-variant: none;
63
- }
64
-
65
- /* Ligatures */
66
-
67
- :root[style*="--USER__ligatures"] {
68
- font-variant-ligatures: var(--USER__ligatures) !important;
69
- }
70
-
71
- :root[style*="--USER__ligatures"] * {
72
- font-variant-ligatures: inherit !important;
73
- }
74
-
75
- /* LineHeight */
76
-
77
- :root[style*="--USER__lineHeight"] {
78
- line-height: var(--USER__lineHeight) !important;
79
- }
80
-
81
- :root[style*="--USER__lineHeight"] body,
82
- :root[style*="--USER__lineHeight"] p,
83
- :root[style*="--USER__lineHeight"] li,
84
- :root[style*="--USER__lineHeight"] div {
85
- line-height: inherit;
86
- }
87
-
88
- /* ParagraphIndent */
89
-
90
- :root[style*="--USER__paraIndent"] p {
91
- text-indent: var(--USER__paraIndent) !important;
92
- }
93
-
94
- :root[style*="--USER__paraIndent"] p *,
95
- :root[style*="--USER__paraIndent"] p:first-letter {
96
- text-indent: 0 !important;
97
- }
98
-
99
- /* ParagraphSpacing */
100
-
101
- :root[style*="--USER__paraSpacing"] p {
102
- margin-block: var(--USER__paraSpacing) !important;
103
- }
104
-
105
- /* Ruby */
106
-
107
- :root[style*="readium-noRuby-on"] body rt,
108
- :root[style*="readium-noRuby-on"] body rp {
109
- display: none;
110
- }
111
-
112
- /* TextAlign */
43
+ /* FontFamily */
113
44
 
114
- :root[style*="--USER__textAlign"] {
115
- text-align: var(--USER__textAlign);
45
+ :root[style*="--USER__fontFamily"] {
46
+ font-family: var(--USER__fontFamily) !important;
116
47
  }
117
48
 
118
- :root[style*="--USER__textAlign"] body,
119
- :root[style*="--USER__textAlign"] p:not(blockquote p):not(figcaption p):not(hgroup p),
120
- :root[style*="--USER__textAlign"] li,
121
- :root[style*="--USER__textAlign"] dd {
122
- text-align: var(--USER__textAlign) !important;
123
- -moz-text-align-last: auto !important;
124
- -epub-text-align-last: auto !important;
125
- text-align-last: auto !important;
49
+ :root[style*="--USER__fontFamily"] * {
50
+ font-family: revert !important;
126
51
  }
127
52
 
128
53
  /* TextNormalize */
@@ -132,13 +57,13 @@ export const webPubStylesheet = `
132
57
  font-style: normal !important;
133
58
  }
134
59
 
135
- :root[style*="readium-a11y-on"] *:not(code):not(var):not(kbd):not(samp) {
60
+ :root[style*="readium-a11y-on"] body *:not(code):not(var):not(kbd):not(samp) {
136
61
  font-family: inherit !important;
137
62
  font-weight: inherit !important;
138
63
  font-style: inherit !important;
139
64
  }
140
65
 
141
- :root[style*="readium-a11y-on"] * {
66
+ :root[style*="readium-a11y-on"] body * {
142
67
  text-decoration: none !important;
143
68
  font-variant-caps: normal !important;
144
69
  font-variant-position: normal !important;
@@ -151,22 +76,6 @@ export const webPubStylesheet = `
151
76
  vertical-align: baseline !important;
152
77
  }
153
78
 
154
- /* Word Spacing */
155
-
156
- :root[style*="--USER__wordSpacing"] h1,
157
- :root[style*="--USER__wordSpacing"] h2,
158
- :root[style*="--USER__wordSpacing"] h3,
159
- :root[style*="--USER__wordSpacing"] h4,
160
- :root[style*="--USER__wordSpacing"] h5,
161
- :root[style*="--USER__wordSpacing"] h6,
162
- :root[style*="--USER__wordSpacing"] p,
163
- :root[style*="--USER__wordSpacing"] li,
164
- :root[style*="--USER__wordSpacing"] div,
165
- :root[style*="--USER__wordSpacing"] dt,
166
- :root[style*="--USER__wordSpacing"] dd {
167
- word-spacing: var(--USER__wordSpacing);
168
- }
169
-
170
79
  /* Zoom */
171
80
 
172
81
  :root {
@@ -201,4 +110,96 @@ export const webPubStylesheet = `
201
110
  zoom: var(--USER__zoom) !important;
202
111
  }
203
112
  }
113
+
114
+ /* LineHeight */
115
+
116
+ :root[style*="--USER__lineHeight"] {
117
+ line-height: var(--USER__lineHeight) !important;
118
+ }
119
+
120
+ :root[style*="--USER__lineHeight"] body,
121
+ :root[style*="--USER__lineHeight"] p,
122
+ :root[style*="--USER__lineHeight"] li,
123
+ :root[style*="--USER__lineHeight"] div {
124
+ line-height: inherit;
125
+ }
126
+
127
+ /* ParagraphSpacing */
128
+
129
+ :root[style*="--USER__paraSpacing"] p {
130
+ margin-block: var(--USER__paraSpacing) !important;
131
+ }
132
+
133
+ /* ParagraphIndent */
134
+
135
+ :root[style*="--USER__paraIndent"] p {
136
+ text-indent: var(--USER__paraIndent) !important;
137
+ }
138
+
139
+ :root[style*="--USER__paraIndent"] p *,
140
+ :root[style*="--USER__paraIndent"] p:first-letter {
141
+ text-indent: 0 !important;
142
+ }
143
+
144
+ /* WordSpacing */
145
+
146
+ :root[style*="--USER__wordSpacing"] h1,
147
+ :root[style*="--USER__wordSpacing"] h2,
148
+ :root[style*="--USER__wordSpacing"] h3,
149
+ :root[style*="--USER__wordSpacing"] h4,
150
+ :root[style*="--USER__wordSpacing"] h5,
151
+ :root[style*="--USER__wordSpacing"] h6,
152
+ :root[style*="--USER__wordSpacing"] p,
153
+ :root[style*="--USER__wordSpacing"] li,
154
+ :root[style*="--USER__wordSpacing"] div,
155
+ :root[style*="--USER__wordSpacing"] dt,
156
+ :root[style*="--USER__wordSpacing"] dd {
157
+ word-spacing: var(--USER__wordSpacing);
158
+ }
159
+
160
+ /* LetterSpacing */
161
+
162
+ :root[style*="--USER__letterSpacing"] h1,
163
+ :root[style*="--USER__letterSpacing"] h2,
164
+ :root[style*="--USER__letterSpacing"] h3,
165
+ :root[style*="--USER__letterSpacing"] h4,
166
+ :root[style*="--USER__letterSpacing"] h5,
167
+ :root[style*="--USER__letterSpacing"] h6,
168
+ :root[style*="--USER__letterSpacing"] p,
169
+ :root[style*="--USER__letterSpacing"] li,
170
+ :root[style*="--USER__letterSpacing"] div,
171
+ :root[style*="--USER__letterSpacing"] dt,
172
+ :root[style*="--USER__letterSpacing"] dd {
173
+ letter-spacing: var(--USER__letterSpacing);
174
+ font-variant: none;
175
+ }
176
+
177
+ /* FontWeight */
178
+
179
+ :root[style*="--USER__fontWeight"] body {
180
+ font-weight: var(--USER__fontWeight) !important;
181
+ }
182
+
183
+ /* Attempt to handle known bolds */
184
+ :root[style*="--USER__fontWeight"] b,
185
+ :root[style*="--USER__fontWeight"] strong {
186
+ font-weight: bolder;
187
+ }
188
+
189
+ /* Ruby */
190
+
191
+ :root[style*="readium-noRuby-on"] body rt,
192
+ :root[style*="readium-noRuby-on"] body rp {
193
+ display: none;
194
+ }
195
+
196
+ /* Ligatures */
197
+
198
+ :root[style*="--USER__ligatures"] {
199
+ font-variant-ligatures: var(--USER__ligatures) !important;
200
+ }
201
+
202
+ :root[style*="--USER__ligatures"] * {
203
+ font-variant-ligatures: inherit !important;
204
+ }
204
205
  `;
@@ -1 +1 @@
1
- export declare const webPubStylesheet = "\n/* FontFamily */\n\n:root[style*=\"--USER__fontFamily\"] {\n font-family: var(--USER__fontFamily) !important;\n}\n\n:root[style*=\"--USER__fontFamily\"] * {\n font-family: revert !important;\n}\n\n/* FontWeight */\n\n:root[style*=\"--USER__fontWeight\"] body {\n font-weight: var(--USER__fontWeight) !important;\n}\n\n/* Attempt to handle known bolds */\n:root[style*=\"--USER__fontWeight\"] b,\n:root[style*=\"--USER__fontWeight\"] strong {\n font-weight: bolder;\n}\n\n/* Hyphens */\n\n:root[style*=\"--USER__bodyHyphens\"] {\n -webkit-hyphens: var(--USER__bodyHyphens) !important;\n -moz-hyphens: var(--USER__bodyHyphens) !important;\n -ms-hyphens: var(--USER__bodyHyphens) !important;\n -epub-hyphens: var(--USER__bodyHyphens) !important;\n hyphens: var(--USER__bodyHyphens) !important;\n}\n\n:root[style*=\"--USER__bodyHyphens\"] body,\n:root[style*=\"--USER__bodyHyphens\"] p,\n:root[style*=\"--USER__bodyHyphens\"] li,\n:root[style*=\"--USER__bodyHyphens\"] div,\n:root[style*=\"--USER__bodyHyphens\"] dd {\n -webkit-hyphens: inherit;\n -moz-hyphens: inherit;\n -ms-hyphens: inherit;\n -epub-hyphens: inherit;\n hyphens: inherit;\n}\n\n/* LetterSpacing */\n\n:root[style*=\"--USER__letterSpacing\"] h1,\n:root[style*=\"--USER__letterSpacing\"] h2,\n:root[style*=\"--USER__letterSpacing\"] h3,\n:root[style*=\"--USER__letterSpacing\"] h4,\n:root[style*=\"--USER__letterSpacing\"] h5,\n:root[style*=\"--USER__letterSpacing\"] h6,\n:root[style*=\"--USER__letterSpacing\"] p,\n:root[style*=\"--USER__letterSpacing\"] li,\n:root[style*=\"--USER__letterSpacing\"] div,\n:root[style*=\"--USER__letterSpacing\"] dt,\n:root[style*=\"--USER__letterSpacing\"] dd {\n letter-spacing: var(--USER__letterSpacing);\n font-variant: none;\n}\n\n/* Ligatures */\n\n:root[style*=\"--USER__ligatures\"] {\n font-variant-ligatures: var(--USER__ligatures) !important;\n}\n\n:root[style*=\"--USER__ligatures\"] * {\n font-variant-ligatures: inherit !important;\n}\n\n/* LineHeight */\n\n:root[style*=\"--USER__lineHeight\"] {\n line-height: var(--USER__lineHeight) !important;\n}\n\n:root[style*=\"--USER__lineHeight\"] body,\n:root[style*=\"--USER__lineHeight\"] p,\n:root[style*=\"--USER__lineHeight\"] li,\n:root[style*=\"--USER__lineHeight\"] div {\n line-height: inherit;\n}\n\n/* ParagraphIndent */\n\n:root[style*=\"--USER__paraIndent\"] p {\n text-indent: var(--USER__paraIndent) !important;\n}\n\n:root[style*=\"--USER__paraIndent\"] p *,\n:root[style*=\"--USER__paraIndent\"] p:first-letter {\n text-indent: 0 !important;\n}\n\n/* ParagraphSpacing */\n\n:root[style*=\"--USER__paraSpacing\"] p {\n margin-block: var(--USER__paraSpacing) !important;\n}\n\n/* Ruby */\n\n:root[style*=\"readium-noRuby-on\"] body rt,\n:root[style*=\"readium-noRuby-on\"] body rp {\n display: none;\n}\n\n/* TextAlign */\n\n:root[style*=\"--USER__textAlign\"] {\n text-align: var(--USER__textAlign);\n}\n\n:root[style*=\"--USER__textAlign\"] body,\n:root[style*=\"--USER__textAlign\"] p:not(blockquote p):not(figcaption p):not(hgroup p),\n:root[style*=\"--USER__textAlign\"] li,\n:root[style*=\"--USER__textAlign\"] dd {\n text-align: var(--USER__textAlign) !important;\n -moz-text-align-last: auto !important;\n -epub-text-align-last: auto !important;\n text-align-last: auto !important;\n}\n\n/* TextNormalize */\n\n:root[style*=\"readium-a11y-on\"] {\n font-weight: normal !important;\n font-style: normal !important;\n}\n\n:root[style*=\"readium-a11y-on\"] *:not(code):not(var):not(kbd):not(samp) {\n font-family: inherit !important;\n font-weight: inherit !important;\n font-style: inherit !important;\n}\n\n:root[style*=\"readium-a11y-on\"] * {\n text-decoration: none !important;\n font-variant-caps: normal !important;\n font-variant-position: normal !important;\n font-variant-numeric: normal !important;\n}\n\n:root[style*=\"readium-a11y-on\"] sup,\n:root[style*=\"readium-a11y-on\"] sub {\n font-size: 1rem !important;\n vertical-align: baseline !important;\n}\n\n/* Word Spacing */\n\n:root[style*=\"--USER__wordSpacing\"] h1,\n:root[style*=\"--USER__wordSpacing\"] h2,\n:root[style*=\"--USER__wordSpacing\"] h3,\n:root[style*=\"--USER__wordSpacing\"] h4,\n:root[style*=\"--USER__wordSpacing\"] h5,\n:root[style*=\"--USER__wordSpacing\"] h6,\n:root[style*=\"--USER__wordSpacing\"] p,\n:root[style*=\"--USER__wordSpacing\"] li,\n:root[style*=\"--USER__wordSpacing\"] div,\n:root[style*=\"--USER__wordSpacing\"] dt,\n:root[style*=\"--USER__wordSpacing\"] dd {\n word-spacing: var(--USER__wordSpacing);\n}\n\n/* Zoom */\n\n:root {\n --USER__zoom: 1;\n}\n\n:root[style*=\"--USER__zoom\"] body {\n zoom: var(--USER__zoom) !important;\n}\n\n@supports selector(figure:has(> img)) {\n :root[style*=\"--USER__zoom\"] figure:has(> img),\n :root[style*=\"--USER__zoom\"] figure:has(> video),\n :root[style*=\"--USER__zoom\"] figure:has(> svg),\n :root[style*=\"--USER__zoom\"] figure:has(> canvas),\n :root[style*=\"--USER__zoom\"] figure:has(> iframe),\n :root[style*=\"--USER__zoom\"] figure:has(> audio),\n :root[style*=\"--USER__zoom\"] div:has(> img),\n :root[style*=\"--USER__zoom\"] div:has(> video),\n :root[style*=\"--USER__zoom\"] div:has(> svg),\n :root[style*=\"--USER__zoom\"] div:has(> canvas),\n :root[style*=\"--USER__zoom\"] div:has(> iframe),\n :root[style*=\"--USER__zoom\"] div:has(> audio),\n :root[style*=\"--USER__zoom\"] table {\n zoom: calc(100% / var(--USER__zoom)) !important;\n }\n\n :root[style*=\"--USER__zoom\"] figcaption,\n :root[style*=\"--USER__zoom\"] caption,\n :root[style*=\"--USER__zoom\"] td,\n :root[style*=\"--USER__zoom\"] th {\n zoom: var(--USER__zoom) !important;\n }\n}\n";
1
+ export declare const webPubStylesheet = "\n/* TextAlign */\n\n:root[style*=\"--USER__textAlign\"] {\n text-align: var(--USER__textAlign);\n}\n\n:root[style*=\"--USER__textAlign\"] body,\n:root[style*=\"--USER__textAlign\"] p:not([class*=\"title\"]):not(blockquote p):not(figcaption p):not(header p):not(hgroup p):not(div:has(+ *) > h1 + p):not(div:has(+ *) > p:has(+ h1)),\n:root[style*=\"--USER__textAlign\"] li,\n:root[style*=\"--USER__textAlign\"] dd {\n text-align: var(--USER__textAlign) !important;\n -moz-text-align-last: auto !important;\n -epub-text-align-last: auto !important;\n text-align-last: auto !important;\n}\n\n/* Hyphens */\n\n:root[style*=\"--USER__bodyHyphens\"] {\n -webkit-hyphens: var(--USER__bodyHyphens) !important;\n -moz-hyphens: var(--USER__bodyHyphens) !important;\n -ms-hyphens: var(--USER__bodyHyphens) !important;\n -epub-hyphens: var(--USER__bodyHyphens) !important;\n hyphens: var(--USER__bodyHyphens) !important;\n}\n\n:root[style*=\"--USER__bodyHyphens\"] body,\n:root[style*=\"--USER__bodyHyphens\"] p,\n:root[style*=\"--USER__bodyHyphens\"] li,\n:root[style*=\"--USER__bodyHyphens\"] div,\n:root[style*=\"--USER__bodyHyphens\"] dd {\n -webkit-hyphens: inherit;\n -moz-hyphens: inherit;\n -ms-hyphens: inherit;\n -epub-hyphens: inherit;\n hyphens: inherit;\n}\n\n/* FontFamily */\n\n:root[style*=\"--USER__fontFamily\"] {\n font-family: var(--USER__fontFamily) !important;\n}\n\n:root[style*=\"--USER__fontFamily\"] * {\n font-family: revert !important;\n}\n\n/* TextNormalize */\n\n:root[style*=\"readium-a11y-on\"] {\n font-weight: normal !important;\n font-style: normal !important;\n}\n\n:root[style*=\"readium-a11y-on\"] body *:not(code):not(var):not(kbd):not(samp) {\n font-family: inherit !important;\n font-weight: inherit !important;\n font-style: inherit !important;\n}\n\n:root[style*=\"readium-a11y-on\"] body * {\n text-decoration: none !important;\n font-variant-caps: normal !important;\n font-variant-position: normal !important;\n font-variant-numeric: normal !important;\n}\n\n:root[style*=\"readium-a11y-on\"] sup,\n:root[style*=\"readium-a11y-on\"] sub {\n font-size: 1rem !important;\n vertical-align: baseline !important;\n}\n\n/* Zoom */\n\n:root {\n --USER__zoom: 1;\n}\n\n:root[style*=\"--USER__zoom\"] body {\n zoom: var(--USER__zoom) !important;\n}\n\n@supports selector(figure:has(> img)) {\n :root[style*=\"--USER__zoom\"] figure:has(> img),\n :root[style*=\"--USER__zoom\"] figure:has(> video),\n :root[style*=\"--USER__zoom\"] figure:has(> svg),\n :root[style*=\"--USER__zoom\"] figure:has(> canvas),\n :root[style*=\"--USER__zoom\"] figure:has(> iframe),\n :root[style*=\"--USER__zoom\"] figure:has(> audio),\n :root[style*=\"--USER__zoom\"] div:has(> img),\n :root[style*=\"--USER__zoom\"] div:has(> video),\n :root[style*=\"--USER__zoom\"] div:has(> svg),\n :root[style*=\"--USER__zoom\"] div:has(> canvas),\n :root[style*=\"--USER__zoom\"] div:has(> iframe),\n :root[style*=\"--USER__zoom\"] div:has(> audio),\n :root[style*=\"--USER__zoom\"] table {\n zoom: calc(100% / var(--USER__zoom)) !important;\n }\n\n :root[style*=\"--USER__zoom\"] figcaption,\n :root[style*=\"--USER__zoom\"] caption,\n :root[style*=\"--USER__zoom\"] td,\n :root[style*=\"--USER__zoom\"] th {\n zoom: var(--USER__zoom) !important;\n }\n}\n\n/* LineHeight */\n\n:root[style*=\"--USER__lineHeight\"] {\n line-height: var(--USER__lineHeight) !important;\n}\n\n:root[style*=\"--USER__lineHeight\"] body,\n:root[style*=\"--USER__lineHeight\"] p,\n:root[style*=\"--USER__lineHeight\"] li,\n:root[style*=\"--USER__lineHeight\"] div {\n line-height: inherit;\n}\n\n/* ParagraphSpacing */\n\n:root[style*=\"--USER__paraSpacing\"] p {\n margin-block: var(--USER__paraSpacing) !important;\n}\n\n/* ParagraphIndent */\n\n:root[style*=\"--USER__paraIndent\"] p {\n text-indent: var(--USER__paraIndent) !important;\n}\n\n:root[style*=\"--USER__paraIndent\"] p *,\n:root[style*=\"--USER__paraIndent\"] p:first-letter {\n text-indent: 0 !important;\n}\n\n/* WordSpacing */\n\n:root[style*=\"--USER__wordSpacing\"] h1,\n:root[style*=\"--USER__wordSpacing\"] h2,\n:root[style*=\"--USER__wordSpacing\"] h3,\n:root[style*=\"--USER__wordSpacing\"] h4,\n:root[style*=\"--USER__wordSpacing\"] h5,\n:root[style*=\"--USER__wordSpacing\"] h6,\n:root[style*=\"--USER__wordSpacing\"] p,\n:root[style*=\"--USER__wordSpacing\"] li,\n:root[style*=\"--USER__wordSpacing\"] div,\n:root[style*=\"--USER__wordSpacing\"] dt,\n:root[style*=\"--USER__wordSpacing\"] dd {\n word-spacing: var(--USER__wordSpacing);\n}\n\n/* LetterSpacing */\n\n:root[style*=\"--USER__letterSpacing\"] h1,\n:root[style*=\"--USER__letterSpacing\"] h2,\n:root[style*=\"--USER__letterSpacing\"] h3,\n:root[style*=\"--USER__letterSpacing\"] h4,\n:root[style*=\"--USER__letterSpacing\"] h5,\n:root[style*=\"--USER__letterSpacing\"] h6,\n:root[style*=\"--USER__letterSpacing\"] p,\n:root[style*=\"--USER__letterSpacing\"] li,\n:root[style*=\"--USER__letterSpacing\"] div,\n:root[style*=\"--USER__letterSpacing\"] dt,\n:root[style*=\"--USER__letterSpacing\"] dd {\n letter-spacing: var(--USER__letterSpacing);\n font-variant: none;\n}\n\n/* FontWeight */\n\n:root[style*=\"--USER__fontWeight\"] body {\n font-weight: var(--USER__fontWeight) !important;\n}\n\n/* Attempt to handle known bolds */\n:root[style*=\"--USER__fontWeight\"] b,\n:root[style*=\"--USER__fontWeight\"] strong {\n font-weight: bolder;\n}\n\n/* Ruby */\n\n:root[style*=\"readium-noRuby-on\"] body rt,\n:root[style*=\"readium-noRuby-on\"] body rp {\n display: none;\n}\n\n/* Ligatures */\n\n:root[style*=\"--USER__ligatures\"] {\n font-variant-ligatures: var(--USER__ligatures) !important;\n}\n\n:root[style*=\"--USER__ligatures\"] * {\n font-variant-ligatures: inherit !important;\n}\n";