@testgorilla/tgo-typing-test 1.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/fesm2022/testgorilla-tgo-typing-test.mjs +795 -811
  2. package/fesm2022/testgorilla-tgo-typing-test.mjs.map +1 -1
  3. package/lib/helpers/config.d.ts +4 -4
  4. package/lib/utils/misc.d.ts +0 -1
  5. package/package.json +6 -8
  6. package/esm2022/index.mjs +0 -3
  7. package/esm2022/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.mjs +0 -45
  8. package/esm2022/lib/components/tgo-typing-test/tgo-typing-test.component.mjs +0 -299
  9. package/esm2022/lib/helpers/config.mjs +0 -24
  10. package/esm2022/lib/helpers/constants/default-config.mjs +0 -103
  11. package/esm2022/lib/helpers/controllers/input-controller.mjs +0 -586
  12. package/esm2022/lib/helpers/controllers/quotes-controller.mjs +0 -118
  13. package/esm2022/lib/helpers/observables/config-event.mjs +0 -16
  14. package/esm2022/lib/helpers/observables/timer-event.mjs +0 -16
  15. package/esm2022/lib/helpers/states/active-page.mjs +0 -8
  16. package/esm2022/lib/helpers/states/composition.mjs +0 -20
  17. package/esm2022/lib/helpers/states/page-transition.mjs +0 -8
  18. package/esm2022/lib/helpers/states/slow-timer.mjs +0 -15
  19. package/esm2022/lib/helpers/states/test-active.mjs +0 -8
  20. package/esm2022/lib/helpers/states/time.mjs +0 -11
  21. package/esm2022/lib/helpers/test/caps-warning.mjs +0 -50
  22. package/esm2022/lib/helpers/test/caret.mjs +0 -80
  23. package/esm2022/lib/helpers/test/custom-text.mjs +0 -59
  24. package/esm2022/lib/helpers/test/english-punctuation.mjs +0 -29
  25. package/esm2022/lib/helpers/test/focus.mjs +0 -35
  26. package/esm2022/lib/helpers/test/manual-restart-tracker.mjs +0 -11
  27. package/esm2022/lib/helpers/test/out-of-focus.mjs +0 -14
  28. package/esm2022/lib/helpers/test/replay.mjs +0 -217
  29. package/esm2022/lib/helpers/test/test-input.mjs +0 -264
  30. package/esm2022/lib/helpers/test/test-logic.mjs +0 -927
  31. package/esm2022/lib/helpers/test/test-state.mjs +0 -13
  32. package/esm2022/lib/helpers/test/test-stats.mjs +0 -342
  33. package/esm2022/lib/helpers/test/test-timer.mjs +0 -207
  34. package/esm2022/lib/helpers/test/test-ui.mjs +0 -341
  35. package/esm2022/lib/helpers/test/test-words.mjs +0 -69
  36. package/esm2022/lib/helpers/test/timer-progress.mjs +0 -15
  37. package/esm2022/lib/helpers/test/weak-spot.mjs +0 -65
  38. package/esm2022/lib/helpers/test/wordset.mjs +0 -100
  39. package/esm2022/lib/utils/misc.mjs +0 -673
  40. package/esm2022/testgorilla-tgo-typing-test.mjs +0 -5
@@ -130,22 +130,6 @@ function setTestVersionForSentences(testVersion) {
130
130
  config.testVersion = testVersion;
131
131
  }
132
132
 
133
- const subscribers$1 = [];
134
- function subscribe$1(fn) {
135
- subscribers$1.push(fn);
136
- }
137
- function dispatch$1(key, newValue, nosave, previousValue, fullConfig) {
138
- subscribers$1.forEach(fn => {
139
- try {
140
- fn(key, newValue, nosave, previousValue, fullConfig);
141
- }
142
- catch (e) {
143
- console.error('Config event subscriber threw an error');
144
- console.error(e);
145
- }
146
- });
147
- }
148
-
149
133
  const QuoteNetworkErrorSubject = new BehaviorSubject('');
150
134
  const QuoteNetworkErrorMessage = 'Text not loading.';
151
135
  function emitQuoteNetworkError() {
@@ -818,6 +802,22 @@ function abbreviateNumber(num) {
818
802
  return (num / Math.pow(1000, exp)).toFixed(1) + pre;
819
803
  }
820
804
 
805
+ const subscribers$1 = [];
806
+ function subscribe$1(fn) {
807
+ subscribers$1.push(fn);
808
+ }
809
+ function dispatch$1(key, newValue, nosave, previousValue, fullConfig) {
810
+ subscribers$1.forEach(fn => {
811
+ try {
812
+ fn(key, newValue, nosave, previousValue, fullConfig);
813
+ }
814
+ catch (e) {
815
+ console.error('Config event subscriber threw an error');
816
+ console.error(e);
817
+ }
818
+ });
819
+ }
820
+
821
821
  const defaultQuoteCollection = {
822
822
  quotes: [],
823
823
  length: 0,
@@ -933,15 +933,44 @@ subscribe$1((key, newValue) => {
933
933
  }
934
934
  });
935
935
 
936
- let state$1 = false;
937
- function set$6() {
938
- state$1 = true;
936
+ const subscribers = [];
937
+ function subscribe(fn) {
938
+ subscribers.push(fn);
939
939
  }
940
- function reset$1() {
941
- state$1 = false;
940
+ function dispatch(key, value, value2) {
941
+ subscribers.forEach((fn) => {
942
+ try {
943
+ fn(key, value, value2);
944
+ }
945
+ catch (e) {
946
+ console.error("Timer event subscriber threw an error");
947
+ console.error(e);
948
+ }
949
+ });
942
950
  }
951
+
952
+ let activePage = 'test';
943
953
  function get$6() {
944
- return state$1;
954
+ return activePage;
955
+ }
956
+ function set$6(active) {
957
+ activePage = active;
958
+ }
959
+
960
+ let transition = true;
961
+ function set$5(val) {
962
+ transition = val;
963
+ }
964
+ function get$5() {
965
+ return transition;
966
+ }
967
+
968
+ let testActive = false;
969
+ function get$4() {
970
+ return testActive;
971
+ }
972
+ function set$4(active) {
973
+ testActive = active;
945
974
  }
946
975
 
947
976
  class Words {
@@ -1276,7 +1305,7 @@ function restart$2() {
1276
1305
  }
1277
1306
 
1278
1307
  let slowTimer = false;
1279
- function set$5() {
1308
+ function set$3() {
1280
1309
  if (slowTimer)
1281
1310
  return;
1282
1311
  slowTimer = true;
@@ -1286,7 +1315,7 @@ function set$5() {
1286
1315
  function clear$1() {
1287
1316
  slowTimer = false;
1288
1317
  }
1289
- function get$5() {
1318
+ function get$3() {
1290
1319
  return slowTimer;
1291
1320
  }
1292
1321
 
@@ -1303,7 +1332,7 @@ function stopAnimation() {
1303
1332
  }
1304
1333
  function startAnimation() {
1305
1334
  if (caretAnimating === false) {
1306
- if (config.smoothCaret && !get$5()) {
1335
+ if (config.smoothCaret && !get$3()) {
1307
1336
  caretAnimation.next('caretFlashSmooth');
1308
1337
  }
1309
1338
  else {
@@ -1365,462 +1394,410 @@ function show$2() {
1365
1394
  startAnimation();
1366
1395
  }
1367
1396
 
1368
- const outOfFocusTimeouts = [];
1369
- const outOfFocusShow = new BehaviorSubject(false);
1370
- function hide$1() {
1371
- outOfFocusShow.next(false);
1372
- clearTimeouts(outOfFocusTimeouts);
1373
- }
1374
- function show$1() {
1375
- outOfFocusTimeouts.push(setTimeout(() => {
1376
- outOfFocusShow.next(true);
1377
- }, 1000));
1378
- }
1379
-
1380
- const compositionState = {
1381
- composing: false,
1382
- startPos: -1,
1383
- };
1384
- function get$4() {
1385
- return compositionState;
1397
+ let text = [
1398
+ "The",
1399
+ "quick",
1400
+ "brown",
1401
+ "fox",
1402
+ "jumps",
1403
+ "over",
1404
+ "the",
1405
+ "lazy",
1406
+ "dog",
1407
+ ];
1408
+ let isWordRandom = false;
1409
+ let isTimeRandom = false;
1410
+ let word = -1;
1411
+ let time$1 = -1;
1412
+ let delimiter = " ";
1413
+ function setText(txt) {
1414
+ text = txt;
1386
1415
  }
1387
- function getComposing() {
1388
- return compositionState.composing;
1416
+ function setIsWordRandom(val) {
1417
+ isWordRandom = val;
1389
1418
  }
1390
- function getStartPos() {
1391
- return compositionState.startPos;
1419
+ function setIsTimeRandom(val) {
1420
+ isTimeRandom = val;
1392
1421
  }
1393
- function setComposing(isComposing) {
1394
- compositionState.composing = isComposing;
1422
+ function setTime(val) {
1423
+ time$1 = val;
1395
1424
  }
1396
- function setStartPos(pos) {
1397
- compositionState.startPos = pos;
1425
+ function setWord(val) {
1426
+ word = val;
1398
1427
  }
1399
-
1400
- let wordsWrapper;
1401
- let wordsInput$2;
1402
- let words;
1403
- let currentWordElementIndex = 0;
1404
- let resultVisible = false;
1405
- let activeWordTop = 0;
1406
- let testRestarting = false;
1407
- let testRestartingPromise;
1408
- const lineTransition = false;
1409
- let currentTestLine = 0;
1410
- let resultCalculating = false;
1411
- function setWordsWrapperElement(wordsWrapperElem) {
1412
- wordsWrapper = wordsWrapperElem;
1428
+ function setDelimiter(val) {
1429
+ delimiter = val;
1413
1430
  }
1414
- function setWordsInputElementTestUI(wordsElement) {
1415
- wordsInput$2 = wordsElement;
1431
+ function getCustomText(name) {
1432
+ const customText = getCustomTextObject();
1433
+ return customText[name].split(/ +/);
1416
1434
  }
1417
- function setWordsElement(wordsElem) {
1418
- words = wordsElem;
1435
+ function setCustomText(name, text) {
1436
+ const customText = getCustomTextObject();
1437
+ if (typeof text === "string")
1438
+ customText[name] = text;
1439
+ else
1440
+ customText[name] = text.join(" ");
1441
+ window.localStorage.setItem("customText", JSON.stringify(customText));
1419
1442
  }
1420
- function setResultVisible(val) {
1421
- resultVisible = val;
1443
+ function deleteCustomText(name) {
1444
+ const customText = getCustomTextObject();
1445
+ if (customText[name])
1446
+ delete customText[name];
1447
+ window.localStorage.setItem("customText", JSON.stringify(customText));
1422
1448
  }
1423
- function setCurrentWordElementIndex(val) {
1424
- currentWordElementIndex = val;
1449
+ function getCustomTextObject() {
1450
+ return JSON.parse(window.localStorage.getItem("customText") ?? "{}");
1425
1451
  }
1426
- function setActiveWordTop(val) {
1427
- activeWordTop = val;
1452
+ function getCustomTextNames() {
1453
+ return Object.keys(getCustomTextObject());
1428
1454
  }
1429
- let restartingResolve;
1430
- function setTestRestarting(val) {
1431
- testRestarting = val;
1432
- if (val === true) {
1433
- testRestartingPromise = new Promise(resolve => {
1434
- restartingResolve = resolve;
1455
+
1456
+ var CustomText = /*#__PURE__*/Object.freeze({
1457
+ __proto__: null,
1458
+ deleteCustomText: deleteCustomText,
1459
+ get delimiter () { return delimiter; },
1460
+ getCustomText: getCustomText,
1461
+ getCustomTextNames: getCustomTextNames,
1462
+ get isTimeRandom () { return isTimeRandom; },
1463
+ get isWordRandom () { return isWordRandom; },
1464
+ setCustomText: setCustomText,
1465
+ setDelimiter: setDelimiter,
1466
+ setIsTimeRandom: setIsTimeRandom,
1467
+ setIsWordRandom: setIsWordRandom,
1468
+ setText: setText,
1469
+ setTime: setTime,
1470
+ setWord: setWord,
1471
+ get text () { return text; },
1472
+ get time () { return time$1; },
1473
+ get word () { return word; }
1474
+ });
1475
+
1476
+ let pairsList = [];
1477
+ async function getList() {
1478
+ if (pairsList.length === 0) {
1479
+ return fetch("/../assets/typing-test-languages/english_punctuation.json")
1480
+ .then(res => res.json())
1481
+ .then(json => {
1482
+ pairsList = json;
1483
+ return pairsList;
1435
1484
  });
1436
1485
  }
1437
- else {
1438
- if (restartingResolve)
1439
- restartingResolve();
1440
- restartingResolve = null;
1486
+ return pairsList;
1487
+ }
1488
+ // Check if word is in the group of pairs so it can be replaced
1489
+ async function check(word) {
1490
+ const list = await getList();
1491
+ if (list.find((a) => word.match(RegExp(`^([\\W]*${a[0]}[\\W]*)$`, "gi"))) ===
1492
+ undefined) {
1493
+ return false;
1441
1494
  }
1495
+ return true;
1442
1496
  }
1443
- function setResultCalculating(val) {
1444
- resultCalculating = val;
1497
+ async function replace(word) {
1498
+ const list = await getList();
1499
+ const replacement = list.find((a) => word.match(RegExp(`^([\\W]*${a[0]}[\\W]*)$`, "gi")));
1500
+ return replacement
1501
+ ? word.replace(RegExp(`^(?:([\\W]*)(${replacement[0]})([\\W]*))$`, "gi"), replacement[1])
1502
+ : word;
1445
1503
  }
1446
- function reset() {
1447
- currentTestLine = 0;
1448
- currentWordElementIndex = 0;
1504
+
1505
+ const unfocusPx = 3;
1506
+ let state$1 = false;
1507
+ let middle;
1508
+ let capsWarning;
1509
+ function setMiddleElement(middleElem) {
1510
+ middle = middleElem;
1449
1511
  }
1450
- function focusWords() {
1451
- if (!wordsWrapper.classList.contains('hidden')) {
1452
- wordsInput$2.focus();
1453
- }
1512
+ function setCapsWarningElement(capsWarningElem) {
1513
+ capsWarning = capsWarningElem;
1454
1514
  }
1455
- function updateActiveElement(backspace) {
1456
- const active = document.querySelector('#words .active');
1457
- if (config.mode == 'zen' && backspace) {
1458
- active?.remove();
1515
+ function set$2(foc, withCursor = false) {
1516
+ if (foc && !state$1) {
1517
+ state$1 = true;
1518
+ stopAnimation();
1519
+ middle.classList.add('focus');
1520
+ capsWarning.classList.add('focus');
1459
1521
  }
1460
- else if (active !== null) {
1461
- if (config.highlightMode == 'word') {
1462
- active.querySelectorAll('letter').forEach(e => {
1463
- e.classList.remove('correct');
1464
- });
1465
- }
1466
- active.classList.remove('active');
1522
+ else if (!foc && state$1) {
1523
+ state$1 = false;
1524
+ startAnimation();
1525
+ middle.classList.remove('focus');
1526
+ capsWarning.classList.remove('focus');
1467
1527
  }
1468
- try {
1469
- const activeWord = document.querySelectorAll('#words .word')[currentWordElementIndex];
1470
- activeWord.classList.add('active');
1471
- activeWord.classList.remove('error');
1472
- activeWordTop = document.querySelector('#words .active').offsetTop;
1473
- if (config.highlightMode == 'word') {
1474
- activeWord.querySelectorAll('letter').forEach(e => {
1475
- e.classList.add('correct');
1476
- });
1477
- }
1478
- }
1479
- catch (e) {
1480
- console.error(e);
1528
+ }
1529
+ function mousemove(event) {
1530
+ if (!state$1)
1531
+ return;
1532
+ // To avoid mouse/desk vibration from creating a flashy effect, we'll unfocus @ >5px instead of >0px
1533
+ if (middle.classList.contains('focus') &&
1534
+ (event.movementX > unfocusPx || event.movementY > unfocusPx)) {
1535
+ set$2(false);
1481
1536
  }
1482
1537
  }
1483
- function getWordHTML(word) {
1484
- let newlineafter = false;
1485
- let retval = `<div class='word'>`;
1486
- for (let c = 0; c < word.length; c++) {
1487
- if (config.funbox === 'tenKeyMode') {
1488
- newlineafter = true;
1489
- }
1490
- if (config.funbox === 'arrows') {
1491
- if (word.charAt(c) === '↑') {
1492
- retval += `<letter><i class="fas fa-arrow-up"></i></letter>`;
1493
- }
1494
- if (word.charAt(c) === '↓') {
1495
- retval += `<letter><i class="fas fa-arrow-down"></i></letter>`;
1496
- }
1497
- if (word.charAt(c) === '←') {
1498
- retval += `<letter><i class="fas fa-arrow-left"></i></letter>`;
1499
- }
1500
- if (word.charAt(c) === '→') {
1501
- retval += `<letter><i class="fas fa-arrow-right"></i></letter>`;
1502
- }
1538
+
1539
+ let state = false;
1540
+ function set$1() {
1541
+ state = true;
1542
+ }
1543
+ function reset$1() {
1544
+ state = false;
1545
+ }
1546
+ function get$2() {
1547
+ return state;
1548
+ }
1549
+
1550
+ const outOfFocusTimeouts = [];
1551
+ const outOfFocusShow = new BehaviorSubject(false);
1552
+ function hide$1() {
1553
+ outOfFocusShow.next(false);
1554
+ clearTimeouts(outOfFocusTimeouts);
1555
+ }
1556
+ function show$1() {
1557
+ outOfFocusTimeouts.push(setTimeout(() => {
1558
+ outOfFocusShow.next(true);
1559
+ }, 1000));
1560
+ }
1561
+
1562
+ let wordsList = [];
1563
+ let replayData = [];
1564
+ let replayStartTime = 0;
1565
+ let replayRecording = true;
1566
+ let wordPos = 0;
1567
+ let curPos = 0;
1568
+ let targetWordPos = 0;
1569
+ let targetCurPos = 0;
1570
+ let timeoutList = [];
1571
+ let stopwatchList = [];
1572
+ let toggleButton;
1573
+ let replayStopwatch;
1574
+ function setToggleButton(toggleButtonElement) {
1575
+ toggleButton = toggleButtonElement?.children[0];
1576
+ }
1577
+ function setReplayStopwatch(replayStopwatchElement) {
1578
+ replayStopwatch = replayStopwatchElement;
1579
+ }
1580
+ function replayGetWordsList(wordsListFromScript) {
1581
+ wordsList = wordsListFromScript;
1582
+ }
1583
+ function initializeReplayPrompt() {
1584
+ const replayWordsElement = document.getElementById('replayWords');
1585
+ if (replayWordsElement === null)
1586
+ return;
1587
+ replayWordsElement.innerHTML = '';
1588
+ let wordCount = 0;
1589
+ replayData.forEach(item => {
1590
+ if (item.action === 'backWord') {
1591
+ wordCount--;
1503
1592
  }
1504
- else if (word.charAt(c) === '\t') {
1505
- retval += `<letter class='tabChar'><i class="fas fa-long-arrow-alt-right"></i></letter>`;
1593
+ else if (item.action === 'submitCorrectWord' || item.action === 'submitErrorWord') {
1594
+ wordCount++;
1506
1595
  }
1507
- else if (word.charAt(c) === '\n') {
1508
- newlineafter = true;
1509
- retval += `<letter class='nlChar'><i class="fas fa-angle-down"></i></letter>`;
1596
+ });
1597
+ wordsList.forEach((item, i) => {
1598
+ if (i > wordCount)
1599
+ return;
1600
+ const x = document.createElement('div');
1601
+ x.className = 'word';
1602
+ for (i = 0; i < item.length; i++) {
1603
+ const letter = document.createElement('letter');
1604
+ letter.innerHTML = item[i];
1605
+ x.appendChild(letter);
1510
1606
  }
1511
- else {
1512
- retval += '<letter>' + word.charAt(c) + '</letter>';
1607
+ replayWordsElement.appendChild(x);
1608
+ if (config.funbox === 'tenKeyMode') {
1609
+ const y = document.createElement('div');
1610
+ y.className = 'newline';
1611
+ replayWordsElement.appendChild(y);
1513
1612
  }
1514
- }
1515
- retval += '</div>';
1516
- if (newlineafter)
1517
- retval += "<div class='newline'></div>";
1518
- return retval;
1613
+ });
1519
1614
  }
1520
- function showWords() {
1521
- if (config.indicateTypos === 'below') {
1522
- words.classList.add('indicateTyposBelow');
1523
- wordsWrapper.classList.add('indicateTyposBelow');
1615
+ function pauseReplay() {
1616
+ timeoutList.forEach(item => {
1617
+ clearTimeout(item);
1618
+ });
1619
+ timeoutList = [];
1620
+ stopwatchList.forEach(item => {
1621
+ clearTimeout(item);
1622
+ });
1623
+ stopwatchList = [];
1624
+ targetCurPos = curPos;
1625
+ targetWordPos = wordPos;
1626
+ if (toggleButton === undefined)
1627
+ return;
1628
+ toggleButton.className = 'Play';
1629
+ toggleButton.parentNode?.setAttribute('aria-label', 'Resume replay');
1630
+ }
1631
+ function handleDisplayLogic(item, nosound = false) {
1632
+ let activeWord = document.getElementById('replayWords')?.children[wordPos];
1633
+ if (activeWord === undefined)
1634
+ return;
1635
+ if (activeWord.className == 'newline') {
1636
+ curPos = 0;
1637
+ wordPos++;
1638
+ activeWord = document.getElementById('replayWords')?.children[wordPos];
1639
+ if (activeWord === undefined)
1640
+ return;
1524
1641
  }
1525
- else {
1526
- words.classList.remove('indicateTyposBelow');
1527
- wordsWrapper.classList.remove('indicateTyposBelow');
1642
+ if (item.action === 'correctLetter') {
1643
+ // if (!nosound) playSound();
1644
+ activeWord.children[curPos].classList.add('correct');
1645
+ curPos++;
1528
1646
  }
1529
- let wordsHTML = '';
1530
- for (let i = 0; i < words$1.length; i++) {
1531
- wordsHTML += getWordHTML(words$1.get(i));
1647
+ else if (item.action === 'incorrectLetter') {
1648
+ // if (!nosound) playSound(true);
1649
+ let myElement;
1650
+ if (curPos >= activeWord.children.length) {
1651
+ //if letter is an extra
1652
+ myElement = document.createElement('letter');
1653
+ myElement.classList.add('extra');
1654
+ myElement.innerHTML = item.value?.toString() ?? '';
1655
+ activeWord.appendChild(myElement);
1656
+ }
1657
+ myElement = activeWord.children[curPos];
1658
+ myElement.classList.add('incorrect');
1659
+ curPos++;
1532
1660
  }
1533
- words.innerHTML = wordsHTML;
1534
- wordsWrapper.classList.remove('hidden');
1535
- const currentWord = document.querySelector('.word');
1536
- const currentWordStyle = window.getComputedStyle(currentWord);
1537
- const wordHeight = parseFloat(currentWordStyle.marginTop) +
1538
- parseFloat(currentWordStyle.marginBottom) +
1539
- currentWord.getBoundingClientRect().height;
1540
- words.style.height = wordHeight * (config.funbox === 'tenKeyMode' ? 5 : 4) + 'px';
1541
- words.style.overflow = 'hidden';
1542
- words.style.width = '100%';
1543
- words.style.marginLeft = 'unset';
1544
- wordsWrapper.style.height = wordHeight * (config.funbox === 'tenKeyMode' ? 5 : 3) + 'px';
1545
- wordsWrapper.style.overflow = 'hidden';
1546
- updateActiveElement();
1547
- updatePosition();
1548
- }
1549
- function addWord$1(word) {
1550
- words.insertAdjacentHTML('beforeend', getWordHTML(word));
1551
- }
1552
- function updateWordElement(showError = !config.blindMode) {
1553
- const input$1 = input.current;
1554
- const wordAtIndex = document.querySelector('#words .word.active');
1555
- const currentWord = words$1.getCurrent();
1556
- if (!currentWord && config.mode !== 'zen')
1557
- return;
1558
- let ret = '';
1559
- let newlineafter = false;
1560
- if (config.mode === 'zen') {
1561
- for (let i = 0; i < input.current.length; i++) {
1562
- if (input.current[i] === '\t') {
1563
- ret += `<letter class='tabChar correct' style="opacity: 0"><i class="fas fa-long-arrow-alt-right"></i></letter>`;
1564
- }
1565
- else if (input.current[i] === '\n') {
1566
- newlineafter = true;
1567
- ret += `<letter class='nlChar correct' style="opacity: 0"><i class="fas fa-angle-down"></i></letter>`;
1661
+ else if (item.action === 'setLetterIndex' && typeof item.value === 'number') {
1662
+ curPos = item.value;
1663
+ // remove all letters from cursor to end of word
1664
+ for (const myElement of Array.from(activeWord.children).slice(curPos)) {
1665
+ if (myElement.classList.contains('extra')) {
1666
+ myElement.remove();
1568
1667
  }
1569
1668
  else {
1570
- ret += `<letter class="correct">${input.current[i]}</letter>`;
1669
+ myElement.className = '';
1571
1670
  }
1572
1671
  }
1573
1672
  }
1574
- else {
1575
- let correctSoFar = false;
1576
- // slice earlier if input has trailing compose characters
1577
- const inputWithoutComposeLength = trailingComposeChars.test(input$1)
1578
- ? input$1.search(trailingComposeChars)
1579
- : input$1.length;
1580
- if (input$1.search(trailingComposeChars) < currentWord.length &&
1581
- currentWord.slice(0, inputWithoutComposeLength) === input$1.slice(0, inputWithoutComposeLength)) {
1582
- correctSoFar = true;
1583
- }
1584
- let wordHighlightClassString = correctSoFar ? 'correct' : 'incorrect';
1585
- if (config.blindMode) {
1586
- wordHighlightClassString = 'correct';
1673
+ else if (item.action === 'submitCorrectWord') {
1674
+ wordPos++;
1675
+ curPos = 0;
1676
+ }
1677
+ else if (item.action === 'submitErrorWord') {
1678
+ activeWord.classList.add('error');
1679
+ wordPos++;
1680
+ curPos = 0;
1681
+ }
1682
+ else if (item.action === 'backWord') {
1683
+ wordPos--;
1684
+ const replayWords = document.getElementById('replayWords');
1685
+ if (replayWords !== null)
1686
+ activeWord = replayWords.children[wordPos];
1687
+ curPos = activeWord.children.length;
1688
+ while (activeWord.children[curPos - 1].className === '')
1689
+ curPos--;
1690
+ activeWord.classList.remove('error');
1691
+ }
1692
+ }
1693
+ function loadOldReplay() {
1694
+ let startingIndex = 0;
1695
+ curPos = 0;
1696
+ wordPos = 0;
1697
+ replayData.forEach((item, i) => {
1698
+ if (wordPos < targetWordPos || (wordPos === targetWordPos && curPos < targetCurPos)) {
1699
+ //quickly display everything up to the target
1700
+ handleDisplayLogic(item, true);
1701
+ startingIndex = i + 1;
1587
1702
  }
1588
- for (let i = 0; i < input$1.length; i++) {
1589
- const charCorrect = currentWord[i] == input$1[i];
1590
- let correctClass = 'correct';
1591
- if (config.highlightMode == 'off') {
1592
- correctClass = '';
1593
- }
1594
- let currentLetter = currentWord[i];
1595
- let tabChar = '';
1596
- let nlChar = '';
1597
- if (config.funbox === 'arrows') {
1598
- if (currentLetter === '↑') {
1599
- currentLetter = `<i class="fas fa-arrow-up"></i>`;
1600
- }
1601
- if (currentLetter === '↓') {
1602
- currentLetter = `<i class="fas fa-arrow-down"></i>`;
1603
- }
1604
- if (currentLetter === '←') {
1605
- currentLetter = `<i class="fas fa-arrow-left"></i>`;
1606
- }
1607
- if (currentLetter === '→') {
1608
- currentLetter = `<i class="fas fa-arrow-right"></i>`;
1609
- }
1610
- }
1611
- else if (currentLetter === '\t') {
1612
- tabChar = 'tabChar';
1613
- currentLetter = `<i class="fas fa-long-arrow-alt-right"></i>`;
1614
- }
1615
- else if (currentLetter === '\n') {
1616
- nlChar = 'nlChar';
1617
- currentLetter = `<i class="fas fa-angle-down"></i>`;
1618
- }
1619
- if (charCorrect) {
1620
- ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : correctClass} ${tabChar}${nlChar}">${currentLetter}</letter>`;
1621
- }
1622
- else if (currentLetter !== undefined &&
1623
- getComposing() &&
1624
- i >= getStartPos()) {
1625
- ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : ''} dead">${currentLetter}</letter>`;
1626
- }
1627
- else if (!showError) {
1628
- if (currentLetter !== undefined) {
1629
- ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : correctClass} ${tabChar}${nlChar}">${currentLetter}</letter>`;
1630
- }
1631
- }
1632
- else if (currentLetter === undefined) {
1633
- if (!config.hideExtraLetters) {
1634
- let letter = input$1[i];
1635
- if (letter == ' ' || letter == '\t' || letter == '\n') {
1636
- letter = '_';
1637
- }
1638
- ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : 'incorrect'} extra ${tabChar}${nlChar}">${letter}</letter>`;
1639
- }
1640
- }
1641
- else {
1642
- ret +=
1643
- `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : 'incorrect'} ${tabChar}${nlChar}">` +
1644
- (config.indicateTypos === 'replace'
1645
- ? input$1[i] == ' '
1646
- ? '_'
1647
- : input$1[i]
1648
- : currentLetter) +
1649
- (config.indicateTypos === 'below' ? `<hint>${input$1[i]}</hint>` : '') +
1650
- '</letter>';
1651
- }
1652
- }
1653
- for (let i = input$1.length; i < currentWord.length; i++) {
1654
- if (config.funbox === 'arrows') {
1655
- if (currentWord[i] === '↑') {
1656
- ret += `<letter><i class="fas fa-arrow-up"></i></letter>`;
1657
- }
1658
- if (currentWord[i] === '↓') {
1659
- ret += `<letter><i class="fas fa-arrow-down"></i></letter>`;
1660
- }
1661
- if (currentWord[i] === '←') {
1662
- ret += `<letter><i class="fas fa-arrow-left"></i></letter>`;
1663
- }
1664
- if (currentWord[i] === '→') {
1665
- ret += `<letter><i class="fas fa-arrow-right"></i></letter>`;
1666
- }
1667
- }
1668
- else if (currentWord[i] === '\t') {
1669
- ret += `<letter class='tabChar'><i class="fas fa-long-arrow-alt-right"></i></letter>`;
1670
- }
1671
- else if (currentWord[i] === '\n') {
1672
- ret += `<letter class='nlChar'><i class="fas fa-angle-down"></i></letter>`;
1673
- }
1674
- else {
1675
- ret +=
1676
- `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : ''}">` +
1677
- currentWord[i] +
1678
- '</letter>';
1679
- }
1680
- }
1681
- if (config.highlightMode === 'letter' && config.hideExtraLetters) {
1682
- if (input$1.length > currentWord.length && !config.blindMode) {
1683
- wordAtIndex.classList.add('error');
1684
- }
1685
- else if (input$1.length == currentWord.length) {
1686
- wordAtIndex.classList.remove('error');
1687
- }
1688
- }
1689
- }
1690
- wordAtIndex.innerHTML = ret;
1691
- if (newlineafter)
1692
- words.insertAdjacentHTML('beforeend', "<div class='newline'></div>");
1703
+ });
1704
+ const time = Math.floor((replayData[startingIndex]?.time || 0) / 1000);
1705
+ replayStopwatch.innerText = time + 's';
1706
+ return startingIndex;
1693
1707
  }
1694
- function lineJump(currentTop) {
1695
- if ((config.tapeMode === 'off' && currentTestLine > 0) ||
1696
- (config.tapeMode !== 'off' && currentTestLine >= 0)) {
1697
- const hideBound = currentTop;
1698
- const toHide = [];
1699
- const wordElements = document.querySelectorAll('#words .word');
1700
- for (let i = 0; i < currentWordElementIndex; i++) {
1701
- if (wordElements[i].classList.contains('hidden'))
1702
- continue;
1703
- const forWordTop = Math.floor(wordElements[i].offsetTop);
1704
- if (forWordTop < (config.tapeMode === 'off' ? hideBound - 10 : hideBound + 10)) {
1705
- toHide.push(document.querySelectorAll('#words .word')[i]);
1706
- }
1707
- }
1708
- toHide.forEach(el => el.remove());
1709
- currentWordElementIndex -= toHide.length;
1710
- }
1711
- currentTestLine++;
1708
+ function startReplayRecording() {
1709
+ replayData = [];
1710
+ replayStartTime = performance.now();
1711
+ replayRecording = true;
1712
+ targetCurPos = 0;
1713
+ targetWordPos = 0;
1712
1714
  }
1713
- function highlightBadWord(index, showError) {
1714
- if (!showError)
1715
- return;
1716
- document.querySelectorAll('#words .word')[index].classList.add('error');
1715
+ function stopReplayRecording() {
1716
+ replayRecording = false;
1717
1717
  }
1718
- function wordsInputFocusTestUI() {
1719
- if (!resultVisible && config.showOutOfFocusWarning) {
1720
- hide$1();
1718
+ function addReplayEvent(action, value) {
1719
+ if (!replayRecording) {
1720
+ return;
1721
1721
  }
1722
- show$2();
1722
+ const timeDelta = performance.now() - replayStartTime;
1723
+ replayData.push({ action: action, value: value, time: timeDelta });
1723
1724
  }
1724
- function wordsInputFocusOut() {
1725
- if (!resultVisible && config.showOutOfFocusWarning) {
1726
- show$1();
1725
+ function playReplay() {
1726
+ curPos = 0;
1727
+ wordPos = 0;
1728
+ if (toggleButton === undefined)
1729
+ return;
1730
+ toggleButton.className = 'Pause';
1731
+ toggleButton.parentNode?.setAttribute('aria-label', 'Pause replay');
1732
+ initializeReplayPrompt();
1733
+ const startingIndex = loadOldReplay();
1734
+ const lastTime = replayData[startingIndex]?.time || 0;
1735
+ let swTime = Math.round(lastTime / 1000); //starting time
1736
+ const swEndTime = Math.round((replayData[replayData.length - 1]?.time || 0) / 1000);
1737
+ while (swTime <= swEndTime) {
1738
+ const time = swTime;
1739
+ stopwatchList.push(setTimeout(() => {
1740
+ replayStopwatch.innerText = time + 's';
1741
+ }, time * 1000 - lastTime));
1742
+ swTime++;
1727
1743
  }
1728
- hide$2();
1744
+ replayData.forEach((item, i) => {
1745
+ if (i < startingIndex)
1746
+ return;
1747
+ timeoutList.push(setTimeout(() => {
1748
+ handleDisplayLogic(item);
1749
+ }, item.time - lastTime));
1750
+ });
1751
+ timeoutList.push(setTimeout(() => {
1752
+ //after the replay has finished, this will run
1753
+ targetCurPos = 0;
1754
+ targetWordPos = 0;
1755
+ toggleButton.className = 'Play';
1756
+ toggleButton.parentNode.setAttribute('aria-label', 'Start replay');
1757
+ }, (replayData[replayData.length - 1]?.time || 0) - lastTime));
1729
1758
  }
1730
- function wordsWrapperClick() {
1731
- focusWords();
1759
+ function getReplayExport() {
1760
+ return JSON.stringify({
1761
+ replayData: replayData,
1762
+ wordsList: wordsList,
1763
+ });
1732
1764
  }
1733
-
1734
- let text = [
1735
- "The",
1736
- "quick",
1737
- "brown",
1738
- "fox",
1739
- "jumps",
1740
- "over",
1741
- "the",
1742
- "lazy",
1743
- "dog",
1744
- ];
1745
- let isWordRandom = false;
1746
- let isTimeRandom = false;
1747
- let word = -1;
1748
- let time$1 = -1;
1749
- let delimiter = " ";
1750
- function setText(txt) {
1751
- text = txt;
1765
+ function setReplayData(data) {
1766
+ replayData = data;
1752
1767
  }
1753
- function setIsWordRandom(val) {
1754
- isWordRandom = val;
1768
+ function playpauseReplayButtonClick() {
1769
+ if (toggleButton?.className === 'Play') {
1770
+ playReplay();
1771
+ }
1772
+ else if (toggleButton?.className === 'Pause') {
1773
+ pauseReplay();
1774
+ }
1755
1775
  }
1756
- function setIsTimeRandom(val) {
1757
- isTimeRandom = val;
1776
+
1777
+ let isRepeated = false;
1778
+ let isPaceRepeat = false;
1779
+ let activeChallenge = null;
1780
+ function setRepeated(tf) {
1781
+ isRepeated = tf;
1758
1782
  }
1759
- function setTime(val) {
1760
- time$1 = val;
1783
+ function setPaceRepeat(tf) {
1784
+ isPaceRepeat = tf;
1761
1785
  }
1762
- function setWord(val) {
1763
- word = val;
1786
+ function setActiveChallenge(val) {
1787
+ activeChallenge = val;
1764
1788
  }
1765
- function setDelimiter(val) {
1766
- delimiter = val;
1789
+
1790
+ let invalid = false;
1791
+ let start$1, end;
1792
+ let start2, end2;
1793
+ let lastSecondNotRound = false;
1794
+ let lastTestWpm = 0;
1795
+ function setLastTestWpm(wpm) {
1796
+ lastTestWpm = wpm;
1767
1797
  }
1768
- function getCustomText(name) {
1769
- const customText = getCustomTextObject();
1770
- return customText[name].split(/ +/);
1771
- }
1772
- function setCustomText(name, text) {
1773
- const customText = getCustomTextObject();
1774
- if (typeof text === "string")
1775
- customText[name] = text;
1776
- else
1777
- customText[name] = text.join(" ");
1778
- window.localStorage.setItem("customText", JSON.stringify(customText));
1779
- }
1780
- function deleteCustomText(name) {
1781
- const customText = getCustomTextObject();
1782
- if (customText[name])
1783
- delete customText[name];
1784
- window.localStorage.setItem("customText", JSON.stringify(customText));
1785
- }
1786
- function getCustomTextObject() {
1787
- return JSON.parse(window.localStorage.getItem("customText") ?? "{}");
1788
- }
1789
- function getCustomTextNames() {
1790
- return Object.keys(getCustomTextObject());
1791
- }
1792
-
1793
- var CustomText = /*#__PURE__*/Object.freeze({
1794
- __proto__: null,
1795
- deleteCustomText: deleteCustomText,
1796
- get delimiter () { return delimiter; },
1797
- getCustomText: getCustomText,
1798
- getCustomTextNames: getCustomTextNames,
1799
- get isTimeRandom () { return isTimeRandom; },
1800
- get isWordRandom () { return isWordRandom; },
1801
- setCustomText: setCustomText,
1802
- setDelimiter: setDelimiter,
1803
- setIsTimeRandom: setIsTimeRandom,
1804
- setIsWordRandom: setIsWordRandom,
1805
- setText: setText,
1806
- setTime: setTime,
1807
- setWord: setWord,
1808
- get text () { return text; },
1809
- get time () { return time$1; },
1810
- get word () { return word; }
1811
- });
1812
-
1813
- let invalid = false;
1814
- let start$1, end;
1815
- let start2, end2;
1816
- let lastSecondNotRound = false;
1817
- let lastTestWpm = 0;
1818
- function setLastTestWpm(wpm) {
1819
- lastTestWpm = wpm;
1820
- }
1821
- let lastResult;
1822
- function setLastResult(result) {
1823
- lastResult = result;
1798
+ let lastResult;
1799
+ function setLastResult(result) {
1800
+ lastResult = result;
1824
1801
  }
1825
1802
  let wpmCalcDebug = false;
1826
1803
  function wpmCalculationDebug() {
@@ -2148,45 +2125,11 @@ function calculateStats() {
2148
2125
  };
2149
2126
  }
2150
2127
 
2151
- const unfocusPx = 3;
2152
- let state = false;
2153
- let middle;
2154
- let capsWarning;
2155
- function setMiddleElement(middleElem) {
2156
- middle = middleElem;
2157
- }
2158
- function setCapsWarningElement(capsWarningElem) {
2159
- capsWarning = capsWarningElem;
2160
- }
2161
- function set$4(foc, withCursor = false) {
2162
- if (foc && !state) {
2163
- state = true;
2164
- stopAnimation();
2165
- middle.classList.add('focus');
2166
- capsWarning.classList.add('focus');
2167
- }
2168
- else if (!foc && state) {
2169
- state = false;
2170
- startAnimation();
2171
- middle.classList.remove('focus');
2172
- capsWarning.classList.remove('focus');
2173
- }
2174
- }
2175
- function mousemove(event) {
2176
- if (!state)
2177
- return;
2178
- // To avoid mouse/desk vibration from creating a flashy effect, we'll unfocus @ >5px instead of >0px
2179
- if (middle.classList.contains('focus') &&
2180
- (event.movementX > unfocusPx || event.movementY > unfocusPx)) {
2181
- set$4(false);
2182
- }
2183
- }
2184
-
2185
2128
  let time = 0;
2186
- function get$3() {
2129
+ function get$1() {
2187
2130
  return time;
2188
2131
  }
2189
- function set$3(active) {
2132
+ function set(active) {
2190
2133
  time = active;
2191
2134
  }
2192
2135
  function increment() {
@@ -2195,7 +2138,7 @@ function increment() {
2195
2138
 
2196
2139
  const timeLeft = new BehaviorSubject('1:00');
2197
2140
  function update() {
2198
- const time = get$3();
2141
+ const time = get$1();
2199
2142
  const maxtime = config.time;
2200
2143
  let displayTime = secondsToString(maxtime - time);
2201
2144
  if (maxtime === 0) {
@@ -2204,30 +2147,6 @@ function update() {
2204
2147
  timeLeft.next(displayTime);
2205
2148
  }
2206
2149
 
2207
- const subscribers = [];
2208
- function subscribe(fn) {
2209
- subscribers.push(fn);
2210
- }
2211
- function dispatch(key, value, value2) {
2212
- subscribers.forEach((fn) => {
2213
- try {
2214
- fn(key, value, value2);
2215
- }
2216
- catch (e) {
2217
- console.error("Timer event subscriber threw an error");
2218
- console.error(e);
2219
- }
2220
- });
2221
- }
2222
-
2223
- let testActive = false;
2224
- function get$2() {
2225
- return testActive;
2226
- }
2227
- function set$2(active) {
2228
- testActive = active;
2229
- }
2230
-
2231
2150
  // Most of the code is thanks to
2232
2151
  // https://stackoverflow.com/questions/29971898/how-to-create-an-accurate-timer-in-javascript
2233
2152
  let slowTimerCount = 0;
@@ -2243,7 +2162,7 @@ function disableCheckIfTimeIsUp() {
2243
2162
  checkIfTimeIsUpDisabled = true;
2244
2163
  }
2245
2164
  function clear() {
2246
- set$3(0);
2165
+ set(0);
2247
2166
  if (timer !== null)
2248
2167
  clearTimeout(timer);
2249
2168
  }
@@ -2252,7 +2171,7 @@ function premid() {
2252
2171
  console.time('premid');
2253
2172
  const premidSecondsLeft = document.querySelector('#premidSecondsLeft');
2254
2173
  if (premidSecondsLeft !== null) {
2255
- premidSecondsLeft.innerHTML = (config.time - get$3()).toString();
2174
+ premidSecondsLeft.innerHTML = (config.time - get$1()).toString();
2256
2175
  }
2257
2176
  if (timerDebug)
2258
2177
  console.timeEnd('premid');
@@ -2303,7 +2222,7 @@ function layoutfluid() {
2303
2222
  ? config.customLayoutfluid.split('#')
2304
2223
  : ['qwerty', 'dvorak', 'colemak'];
2305
2224
  const switchTime = config.time / layouts.length;
2306
- const time = get$3();
2225
+ const time = get$1();
2307
2226
  const index = Math.floor(time / switchTime);
2308
2227
  const layout = layouts[index];
2309
2228
  const flooredSwitchTimes = [];
@@ -2343,8 +2262,8 @@ function checkIfTimeIsUp() {
2343
2262
  if (timerDebug)
2344
2263
  console.time('times up check');
2345
2264
  if (config.mode == 'time' || (config.mode === 'custom' && isTimeRandom)) {
2346
- if ((get$3() >= config.time && config.time !== 0 && config.mode === 'time') ||
2347
- (get$3() >= time$1 && time$1 !== 0 && config.mode === 'custom')) {
2265
+ if ((get$1() >= config.time && config.time !== 0 && config.mode === 'time') ||
2266
+ (get$1() >= time$1 && time$1 !== 0 && config.mode === 'custom')) {
2348
2267
  //times up
2349
2268
  if (timer !== null)
2350
2269
  clearTimeout(timer);
@@ -2399,7 +2318,7 @@ async function start() {
2399
2318
  (config.mode === 'words' && config.words < 250 && config.words > 0)) {
2400
2319
  if (delay < interval / 2) {
2401
2320
  //slow timer
2402
- set$5();
2321
+ set$3();
2403
2322
  }
2404
2323
  if (delay < interval / 10) {
2405
2324
  slowTimerCount++;
@@ -2409,7 +2328,7 @@ async function start() {
2409
2328
  }
2410
2329
  }
2411
2330
  timer = setTimeout(function () {
2412
- if (!get$2()) {
2331
+ if (!get$4()) {
2413
2332
  if (timer !== null)
2414
2333
  clearTimeout(timer);
2415
2334
  clear$1();
@@ -2423,219 +2342,358 @@ async function start() {
2423
2342
  })();
2424
2343
  }
2425
2344
 
2426
- let wordsList = [];
2427
- let replayData = [];
2428
- let replayStartTime = 0;
2429
- let replayRecording = true;
2430
- let wordPos = 0;
2431
- let curPos = 0;
2432
- let targetWordPos = 0;
2433
- let targetCurPos = 0;
2434
- let timeoutList = [];
2435
- let stopwatchList = [];
2436
- let toggleButton;
2437
- let replayStopwatch;
2438
- function setToggleButton(toggleButtonElement) {
2439
- toggleButton = toggleButtonElement?.children[0];
2345
+ const compositionState = {
2346
+ composing: false,
2347
+ startPos: -1,
2348
+ };
2349
+ function get() {
2350
+ return compositionState;
2440
2351
  }
2441
- function setReplayStopwatch(replayStopwatchElement) {
2442
- replayStopwatch = replayStopwatchElement;
2352
+ function getComposing() {
2353
+ return compositionState.composing;
2443
2354
  }
2444
- function replayGetWordsList(wordsListFromScript) {
2445
- wordsList = wordsListFromScript;
2355
+ function getStartPos() {
2356
+ return compositionState.startPos;
2446
2357
  }
2447
- function initializeReplayPrompt() {
2448
- const replayWordsElement = document.getElementById('replayWords');
2449
- if (replayWordsElement === null)
2450
- return;
2451
- replayWordsElement.innerHTML = '';
2452
- let wordCount = 0;
2453
- replayData.forEach(item => {
2454
- if (item.action === 'backWord') {
2455
- wordCount--;
2456
- }
2457
- else if (item.action === 'submitCorrectWord' || item.action === 'submitErrorWord') {
2458
- wordCount++;
2358
+ function setComposing(isComposing) {
2359
+ compositionState.composing = isComposing;
2360
+ }
2361
+ function setStartPos(pos) {
2362
+ compositionState.startPos = pos;
2363
+ }
2364
+
2365
+ let wordsWrapper;
2366
+ let wordsInput$2;
2367
+ let words;
2368
+ let currentWordElementIndex = 0;
2369
+ let resultVisible = false;
2370
+ let activeWordTop = 0;
2371
+ let testRestarting = false;
2372
+ let testRestartingPromise;
2373
+ const lineTransition = false;
2374
+ let currentTestLine = 0;
2375
+ let resultCalculating = false;
2376
+ function setWordsWrapperElement(wordsWrapperElem) {
2377
+ wordsWrapper = wordsWrapperElem;
2378
+ }
2379
+ function setWordsInputElementTestUI(wordsElement) {
2380
+ wordsInput$2 = wordsElement;
2381
+ }
2382
+ function setWordsElement(wordsElem) {
2383
+ words = wordsElem;
2384
+ }
2385
+ function setResultVisible(val) {
2386
+ resultVisible = val;
2387
+ }
2388
+ function setCurrentWordElementIndex(val) {
2389
+ currentWordElementIndex = val;
2390
+ }
2391
+ function setActiveWordTop(val) {
2392
+ activeWordTop = val;
2393
+ }
2394
+ let restartingResolve;
2395
+ function setTestRestarting(val) {
2396
+ testRestarting = val;
2397
+ if (val === true) {
2398
+ testRestartingPromise = new Promise(resolve => {
2399
+ restartingResolve = resolve;
2400
+ });
2401
+ }
2402
+ else {
2403
+ if (restartingResolve)
2404
+ restartingResolve();
2405
+ restartingResolve = null;
2406
+ }
2407
+ }
2408
+ function setResultCalculating(val) {
2409
+ resultCalculating = val;
2410
+ }
2411
+ function reset() {
2412
+ currentTestLine = 0;
2413
+ currentWordElementIndex = 0;
2414
+ }
2415
+ function focusWords() {
2416
+ if (!wordsWrapper.classList.contains('hidden')) {
2417
+ wordsInput$2.focus();
2418
+ }
2419
+ }
2420
+ function updateActiveElement(backspace) {
2421
+ const active = document.querySelector('#words .active');
2422
+ if (config.mode == 'zen' && backspace) {
2423
+ active?.remove();
2424
+ }
2425
+ else if (active !== null) {
2426
+ if (config.highlightMode == 'word') {
2427
+ active.querySelectorAll('letter').forEach(e => {
2428
+ e.classList.remove('correct');
2429
+ });
2459
2430
  }
2460
- });
2461
- wordsList.forEach((item, i) => {
2462
- if (i > wordCount)
2463
- return;
2464
- const x = document.createElement('div');
2465
- x.className = 'word';
2466
- for (i = 0; i < item.length; i++) {
2467
- const letter = document.createElement('letter');
2468
- letter.innerHTML = item[i];
2469
- x.appendChild(letter);
2431
+ active.classList.remove('active');
2432
+ }
2433
+ try {
2434
+ const activeWord = document.querySelectorAll('#words .word')[currentWordElementIndex];
2435
+ activeWord.classList.add('active');
2436
+ activeWord.classList.remove('error');
2437
+ activeWordTop = document.querySelector('#words .active').offsetTop;
2438
+ if (config.highlightMode == 'word') {
2439
+ activeWord.querySelectorAll('letter').forEach(e => {
2440
+ e.classList.add('correct');
2441
+ });
2470
2442
  }
2471
- replayWordsElement.appendChild(x);
2443
+ }
2444
+ catch (e) {
2445
+ console.error(e);
2446
+ }
2447
+ }
2448
+ function getWordHTML(word) {
2449
+ let newlineafter = false;
2450
+ let retval = `<div class='word'>`;
2451
+ for (let c = 0; c < word.length; c++) {
2472
2452
  if (config.funbox === 'tenKeyMode') {
2473
- const y = document.createElement('div');
2474
- y.className = 'newline';
2475
- replayWordsElement.appendChild(y);
2453
+ newlineafter = true;
2476
2454
  }
2477
- });
2455
+ if (config.funbox === 'arrows') {
2456
+ if (word.charAt(c) === '↑') {
2457
+ retval += `<letter><i class="fas fa-arrow-up"></i></letter>`;
2458
+ }
2459
+ if (word.charAt(c) === '↓') {
2460
+ retval += `<letter><i class="fas fa-arrow-down"></i></letter>`;
2461
+ }
2462
+ if (word.charAt(c) === '←') {
2463
+ retval += `<letter><i class="fas fa-arrow-left"></i></letter>`;
2464
+ }
2465
+ if (word.charAt(c) === '→') {
2466
+ retval += `<letter><i class="fas fa-arrow-right"></i></letter>`;
2467
+ }
2468
+ }
2469
+ else if (word.charAt(c) === '\t') {
2470
+ retval += `<letter class='tabChar'><i class="fas fa-long-arrow-alt-right"></i></letter>`;
2471
+ }
2472
+ else if (word.charAt(c) === '\n') {
2473
+ newlineafter = true;
2474
+ retval += `<letter class='nlChar'><i class="fas fa-angle-down"></i></letter>`;
2475
+ }
2476
+ else {
2477
+ retval += '<letter>' + word.charAt(c) + '</letter>';
2478
+ }
2479
+ }
2480
+ retval += '</div>';
2481
+ if (newlineafter)
2482
+ retval += "<div class='newline'></div>";
2483
+ return retval;
2478
2484
  }
2479
- function pauseReplay() {
2480
- timeoutList.forEach(item => {
2481
- clearTimeout(item);
2482
- });
2483
- timeoutList = [];
2484
- stopwatchList.forEach(item => {
2485
- clearTimeout(item);
2486
- });
2487
- stopwatchList = [];
2488
- targetCurPos = curPos;
2489
- targetWordPos = wordPos;
2490
- if (toggleButton === undefined)
2491
- return;
2492
- toggleButton.className = 'Play';
2493
- toggleButton.parentNode?.setAttribute('aria-label', 'Resume replay');
2485
+ function showWords() {
2486
+ if (config.indicateTypos === 'below') {
2487
+ words.classList.add('indicateTyposBelow');
2488
+ wordsWrapper.classList.add('indicateTyposBelow');
2489
+ }
2490
+ else {
2491
+ words.classList.remove('indicateTyposBelow');
2492
+ wordsWrapper.classList.remove('indicateTyposBelow');
2493
+ }
2494
+ let wordsHTML = '';
2495
+ for (let i = 0; i < words$1.length; i++) {
2496
+ wordsHTML += getWordHTML(words$1.get(i));
2497
+ }
2498
+ words.innerHTML = wordsHTML;
2499
+ wordsWrapper.classList.remove('hidden');
2500
+ const currentWord = document.querySelector('.word');
2501
+ const currentWordStyle = window.getComputedStyle(currentWord);
2502
+ const wordHeight = parseFloat(currentWordStyle.marginTop) +
2503
+ parseFloat(currentWordStyle.marginBottom) +
2504
+ currentWord.getBoundingClientRect().height;
2505
+ words.style.height = wordHeight * (config.funbox === 'tenKeyMode' ? 5 : 4) + 'px';
2506
+ words.style.overflow = 'hidden';
2507
+ words.style.width = '100%';
2508
+ words.style.marginLeft = 'unset';
2509
+ wordsWrapper.style.height = wordHeight * (config.funbox === 'tenKeyMode' ? 5 : 3) + 'px';
2510
+ wordsWrapper.style.overflow = 'hidden';
2511
+ updateActiveElement();
2512
+ updatePosition();
2494
2513
  }
2495
- function handleDisplayLogic(item, nosound = false) {
2496
- let activeWord = document.getElementById('replayWords')?.children[wordPos];
2497
- if (activeWord === undefined)
2514
+ function addWord$1(word) {
2515
+ words.insertAdjacentHTML('beforeend', getWordHTML(word));
2516
+ }
2517
+ function updateWordElement(showError = !config.blindMode) {
2518
+ const input$1 = input.current;
2519
+ const wordAtIndex = document.querySelector('#words .word.active');
2520
+ const currentWord = words$1.getCurrent();
2521
+ if (!currentWord && config.mode !== 'zen')
2498
2522
  return;
2499
- if (activeWord.className == 'newline') {
2500
- curPos = 0;
2501
- wordPos++;
2502
- activeWord = document.getElementById('replayWords')?.children[wordPos];
2503
- if (activeWord === undefined)
2504
- return;
2505
- }
2506
- if (item.action === 'correctLetter') {
2507
- // if (!nosound) playSound();
2508
- activeWord.children[curPos].classList.add('correct');
2509
- curPos++;
2523
+ let ret = '';
2524
+ let newlineafter = false;
2525
+ if (config.mode === 'zen') {
2526
+ for (let i = 0; i < input.current.length; i++) {
2527
+ if (input.current[i] === '\t') {
2528
+ ret += `<letter class='tabChar correct' style="opacity: 0"><i class="fas fa-long-arrow-alt-right"></i></letter>`;
2529
+ }
2530
+ else if (input.current[i] === '\n') {
2531
+ newlineafter = true;
2532
+ ret += `<letter class='nlChar correct' style="opacity: 0"><i class="fas fa-angle-down"></i></letter>`;
2533
+ }
2534
+ else {
2535
+ ret += `<letter class="correct">${input.current[i]}</letter>`;
2536
+ }
2537
+ }
2510
2538
  }
2511
- else if (item.action === 'incorrectLetter') {
2512
- // if (!nosound) playSound(true);
2513
- let myElement;
2514
- if (curPos >= activeWord.children.length) {
2515
- //if letter is an extra
2516
- myElement = document.createElement('letter');
2517
- myElement.classList.add('extra');
2518
- myElement.innerHTML = item.value?.toString() ?? '';
2519
- activeWord.appendChild(myElement);
2539
+ else {
2540
+ let correctSoFar = false;
2541
+ // slice earlier if input has trailing compose characters
2542
+ const inputWithoutComposeLength = trailingComposeChars.test(input$1)
2543
+ ? input$1.search(trailingComposeChars)
2544
+ : input$1.length;
2545
+ if (input$1.search(trailingComposeChars) < currentWord.length &&
2546
+ currentWord.slice(0, inputWithoutComposeLength) === input$1.slice(0, inputWithoutComposeLength)) {
2547
+ correctSoFar = true;
2548
+ }
2549
+ let wordHighlightClassString = correctSoFar ? 'correct' : 'incorrect';
2550
+ if (config.blindMode) {
2551
+ wordHighlightClassString = 'correct';
2552
+ }
2553
+ for (let i = 0; i < input$1.length; i++) {
2554
+ const charCorrect = currentWord[i] == input$1[i];
2555
+ let correctClass = 'correct';
2556
+ if (config.highlightMode == 'off') {
2557
+ correctClass = '';
2558
+ }
2559
+ let currentLetter = currentWord[i];
2560
+ let tabChar = '';
2561
+ let nlChar = '';
2562
+ if (config.funbox === 'arrows') {
2563
+ if (currentLetter === '↑') {
2564
+ currentLetter = `<i class="fas fa-arrow-up"></i>`;
2565
+ }
2566
+ if (currentLetter === '↓') {
2567
+ currentLetter = `<i class="fas fa-arrow-down"></i>`;
2568
+ }
2569
+ if (currentLetter === '←') {
2570
+ currentLetter = `<i class="fas fa-arrow-left"></i>`;
2571
+ }
2572
+ if (currentLetter === '→') {
2573
+ currentLetter = `<i class="fas fa-arrow-right"></i>`;
2574
+ }
2575
+ }
2576
+ else if (currentLetter === '\t') {
2577
+ tabChar = 'tabChar';
2578
+ currentLetter = `<i class="fas fa-long-arrow-alt-right"></i>`;
2579
+ }
2580
+ else if (currentLetter === '\n') {
2581
+ nlChar = 'nlChar';
2582
+ currentLetter = `<i class="fas fa-angle-down"></i>`;
2583
+ }
2584
+ if (charCorrect) {
2585
+ ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : correctClass} ${tabChar}${nlChar}">${currentLetter}</letter>`;
2586
+ }
2587
+ else if (currentLetter !== undefined &&
2588
+ getComposing() &&
2589
+ i >= getStartPos()) {
2590
+ ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : ''} dead">${currentLetter}</letter>`;
2591
+ }
2592
+ else if (!showError) {
2593
+ if (currentLetter !== undefined) {
2594
+ ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : correctClass} ${tabChar}${nlChar}">${currentLetter}</letter>`;
2595
+ }
2596
+ }
2597
+ else if (currentLetter === undefined) {
2598
+ if (!config.hideExtraLetters) {
2599
+ let letter = input$1[i];
2600
+ if (letter == ' ' || letter == '\t' || letter == '\n') {
2601
+ letter = '_';
2602
+ }
2603
+ ret += `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : 'incorrect'} extra ${tabChar}${nlChar}">${letter}</letter>`;
2604
+ }
2605
+ }
2606
+ else {
2607
+ ret +=
2608
+ `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : 'incorrect'} ${tabChar}${nlChar}">` +
2609
+ (config.indicateTypos === 'replace'
2610
+ ? input$1[i] == ' '
2611
+ ? '_'
2612
+ : input$1[i]
2613
+ : currentLetter) +
2614
+ (config.indicateTypos === 'below' ? `<hint>${input$1[i]}</hint>` : '') +
2615
+ '</letter>';
2616
+ }
2520
2617
  }
2521
- myElement = activeWord.children[curPos];
2522
- myElement.classList.add('incorrect');
2523
- curPos++;
2524
- }
2525
- else if (item.action === 'setLetterIndex' && typeof item.value === 'number') {
2526
- curPos = item.value;
2527
- // remove all letters from cursor to end of word
2528
- for (const myElement of Array.from(activeWord.children).slice(curPos)) {
2529
- if (myElement.classList.contains('extra')) {
2530
- myElement.remove();
2618
+ for (let i = input$1.length; i < currentWord.length; i++) {
2619
+ if (config.funbox === 'arrows') {
2620
+ if (currentWord[i] === '↑') {
2621
+ ret += `<letter><i class="fas fa-arrow-up"></i></letter>`;
2622
+ }
2623
+ if (currentWord[i] === '↓') {
2624
+ ret += `<letter><i class="fas fa-arrow-down"></i></letter>`;
2625
+ }
2626
+ if (currentWord[i] === '') {
2627
+ ret += `<letter><i class="fas fa-arrow-left"></i></letter>`;
2628
+ }
2629
+ if (currentWord[i] === '→') {
2630
+ ret += `<letter><i class="fas fa-arrow-right"></i></letter>`;
2631
+ }
2632
+ }
2633
+ else if (currentWord[i] === '\t') {
2634
+ ret += `<letter class='tabChar'><i class="fas fa-long-arrow-alt-right"></i></letter>`;
2635
+ }
2636
+ else if (currentWord[i] === '\n') {
2637
+ ret += `<letter class='nlChar'><i class="fas fa-angle-down"></i></letter>`;
2531
2638
  }
2532
2639
  else {
2533
- myElement.className = '';
2640
+ ret +=
2641
+ `<letter class="${config.highlightMode == 'word' ? wordHighlightClassString : ''}">` +
2642
+ currentWord[i] +
2643
+ '</letter>';
2644
+ }
2645
+ }
2646
+ if (config.highlightMode === 'letter' && config.hideExtraLetters) {
2647
+ if (input$1.length > currentWord.length && !config.blindMode) {
2648
+ wordAtIndex.classList.add('error');
2649
+ }
2650
+ else if (input$1.length == currentWord.length) {
2651
+ wordAtIndex.classList.remove('error');
2534
2652
  }
2535
2653
  }
2536
2654
  }
2537
- else if (item.action === 'submitCorrectWord') {
2538
- wordPos++;
2539
- curPos = 0;
2540
- }
2541
- else if (item.action === 'submitErrorWord') {
2542
- activeWord.classList.add('error');
2543
- wordPos++;
2544
- curPos = 0;
2545
- }
2546
- else if (item.action === 'backWord') {
2547
- wordPos--;
2548
- const replayWords = document.getElementById('replayWords');
2549
- if (replayWords !== null)
2550
- activeWord = replayWords.children[wordPos];
2551
- curPos = activeWord.children.length;
2552
- while (activeWord.children[curPos - 1].className === '')
2553
- curPos--;
2554
- activeWord.classList.remove('error');
2555
- }
2655
+ wordAtIndex.innerHTML = ret;
2656
+ if (newlineafter)
2657
+ words.insertAdjacentHTML('beforeend', "<div class='newline'></div>");
2556
2658
  }
2557
- function loadOldReplay() {
2558
- let startingIndex = 0;
2559
- curPos = 0;
2560
- wordPos = 0;
2561
- replayData.forEach((item, i) => {
2562
- if (wordPos < targetWordPos || (wordPos === targetWordPos && curPos < targetCurPos)) {
2563
- //quickly display everything up to the target
2564
- handleDisplayLogic(item, true);
2565
- startingIndex = i + 1;
2659
+ function lineJump(currentTop) {
2660
+ if ((config.tapeMode === 'off' && currentTestLine > 0) ||
2661
+ (config.tapeMode !== 'off' && currentTestLine >= 0)) {
2662
+ const hideBound = currentTop;
2663
+ const toHide = [];
2664
+ const wordElements = document.querySelectorAll('#words .word');
2665
+ for (let i = 0; i < currentWordElementIndex; i++) {
2666
+ if (wordElements[i].classList.contains('hidden'))
2667
+ continue;
2668
+ const forWordTop = Math.floor(wordElements[i].offsetTop);
2669
+ if (forWordTop < (config.tapeMode === 'off' ? hideBound - 10 : hideBound + 10)) {
2670
+ toHide.push(document.querySelectorAll('#words .word')[i]);
2671
+ }
2566
2672
  }
2567
- });
2568
- const time = Math.floor((replayData[startingIndex]?.time || 0) / 1000);
2569
- replayStopwatch.innerText = time + 's';
2570
- return startingIndex;
2571
- }
2572
- function startReplayRecording() {
2573
- replayData = [];
2574
- replayStartTime = performance.now();
2575
- replayRecording = true;
2576
- targetCurPos = 0;
2577
- targetWordPos = 0;
2578
- }
2579
- function stopReplayRecording() {
2580
- replayRecording = false;
2581
- }
2582
- function addReplayEvent(action, value) {
2583
- if (!replayRecording) {
2584
- return;
2673
+ toHide.forEach(el => el.remove());
2674
+ currentWordElementIndex -= toHide.length;
2585
2675
  }
2586
- const timeDelta = performance.now() - replayStartTime;
2587
- replayData.push({ action: action, value: value, time: timeDelta });
2676
+ currentTestLine++;
2588
2677
  }
2589
- function playReplay() {
2590
- curPos = 0;
2591
- wordPos = 0;
2592
- if (toggleButton === undefined)
2678
+ function highlightBadWord(index, showError) {
2679
+ if (!showError)
2593
2680
  return;
2594
- toggleButton.className = 'Pause';
2595
- toggleButton.parentNode?.setAttribute('aria-label', 'Pause replay');
2596
- initializeReplayPrompt();
2597
- const startingIndex = loadOldReplay();
2598
- const lastTime = replayData[startingIndex]?.time || 0;
2599
- let swTime = Math.round(lastTime / 1000); //starting time
2600
- const swEndTime = Math.round((replayData[replayData.length - 1]?.time || 0) / 1000);
2601
- while (swTime <= swEndTime) {
2602
- const time = swTime;
2603
- stopwatchList.push(setTimeout(() => {
2604
- replayStopwatch.innerText = time + 's';
2605
- }, time * 1000 - lastTime));
2606
- swTime++;
2607
- }
2608
- replayData.forEach((item, i) => {
2609
- if (i < startingIndex)
2610
- return;
2611
- timeoutList.push(setTimeout(() => {
2612
- handleDisplayLogic(item);
2613
- }, item.time - lastTime));
2614
- });
2615
- timeoutList.push(setTimeout(() => {
2616
- //after the replay has finished, this will run
2617
- targetCurPos = 0;
2618
- targetWordPos = 0;
2619
- toggleButton.className = 'Play';
2620
- toggleButton.parentNode.setAttribute('aria-label', 'Start replay');
2621
- }, (replayData[replayData.length - 1]?.time || 0) - lastTime));
2622
- }
2623
- function getReplayExport() {
2624
- return JSON.stringify({
2625
- replayData: replayData,
2626
- wordsList: wordsList,
2627
- });
2628
- }
2629
- function setReplayData(data) {
2630
- replayData = data;
2681
+ document.querySelectorAll('#words .word')[index].classList.add('error');
2631
2682
  }
2632
- function playpauseReplayButtonClick() {
2633
- if (toggleButton?.className === 'Play') {
2634
- playReplay();
2683
+ function wordsInputFocusTestUI() {
2684
+ if (!resultVisible && config.showOutOfFocusWarning) {
2685
+ hide$1();
2635
2686
  }
2636
- else if (toggleButton?.className === 'Pause') {
2637
- pauseReplay();
2687
+ show$2();
2688
+ }
2689
+ function wordsInputFocusOut() {
2690
+ if (!resultVisible && config.showOutOfFocusWarning) {
2691
+ show$1();
2638
2692
  }
2693
+ hide$2();
2694
+ }
2695
+ function wordsWrapperClick() {
2696
+ focusWords();
2639
2697
  }
2640
2698
 
2641
2699
  // Changes how quickly it 'learns' scores - very roughly the score for a char
@@ -2801,64 +2859,6 @@ function withWords(words, funbox) {
2801
2859
  }
2802
2860
  }
2803
2861
 
2804
- let pairsList = [];
2805
- async function getList() {
2806
- if (pairsList.length === 0) {
2807
- return fetch("/../assets/typing-test-languages/english_punctuation.json")
2808
- .then(res => res.json())
2809
- .then(json => {
2810
- pairsList = json;
2811
- return pairsList;
2812
- });
2813
- }
2814
- return pairsList;
2815
- }
2816
- // Check if word is in the group of pairs so it can be replaced
2817
- async function check(word) {
2818
- const list = await getList();
2819
- if (list.find((a) => word.match(RegExp(`^([\\W]*${a[0]}[\\W]*)$`, "gi"))) ===
2820
- undefined) {
2821
- return false;
2822
- }
2823
- return true;
2824
- }
2825
- async function replace(word) {
2826
- const list = await getList();
2827
- const replacement = list.find((a) => word.match(RegExp(`^([\\W]*${a[0]}[\\W]*)$`, "gi")));
2828
- return replacement
2829
- ? word.replace(RegExp(`^(?:([\\W]*)(${replacement[0]})([\\W]*))$`, "gi"), replacement[1])
2830
- : word;
2831
- }
2832
-
2833
- let activePage = 'test';
2834
- function get$1() {
2835
- return activePage;
2836
- }
2837
- function set$1(active) {
2838
- activePage = active;
2839
- }
2840
-
2841
- let isRepeated = false;
2842
- let isPaceRepeat = false;
2843
- let activeChallenge = null;
2844
- function setRepeated(tf) {
2845
- isRepeated = tf;
2846
- }
2847
- function setPaceRepeat(tf) {
2848
- isPaceRepeat = tf;
2849
- }
2850
- function setActiveChallenge(val) {
2851
- activeChallenge = val;
2852
- }
2853
-
2854
- let transition = true;
2855
- function set(val) {
2856
- transition = val;
2857
- }
2858
- function get() {
2859
- return transition;
2860
- }
2861
-
2862
2862
  let failReason = '';
2863
2863
  let wordsInput$1;
2864
2864
  const startTestSubject = new BehaviorSubject(false);
@@ -3070,11 +3070,11 @@ async function applyEnglishPunctuationToWord(word) {
3070
3070
  return replace(word);
3071
3071
  }
3072
3072
  function startTest() {
3073
- if (get()) {
3073
+ if (get$5()) {
3074
3074
  return false;
3075
3075
  }
3076
3076
  startTestSubject.next(true);
3077
- set$2(true);
3077
+ set$4(true);
3078
3078
  startReplayRecording();
3079
3079
  replayGetWordsList(words$1.list);
3080
3080
  resetKeypressTimings();
@@ -3096,8 +3096,8 @@ function restart(options = {}) {
3096
3096
  event?.preventDefault();
3097
3097
  return;
3098
3098
  }
3099
- if (get$1() == 'test' && !resultVisible) {
3100
- if (!get$6()) {
3099
+ if (get$6() == 'test' && !resultVisible) {
3100
+ if (!get$2()) {
3101
3101
  if (hasTab && !options.event?.shiftKey && config.quickRestart !== 'esc') {
3102
3102
  return;
3103
3103
  }
@@ -3108,7 +3108,7 @@ function restart(options = {}) {
3108
3108
  }
3109
3109
  }
3110
3110
  }
3111
- if (get$2()) {
3111
+ if (get$4()) {
3112
3112
  if (config.repeatQuotes === 'typing' &&
3113
3113
  config.mode === 'quote' &&
3114
3114
  config.language.replace(/_\d*k$/g, '') === randomQuote.language) {
@@ -3137,19 +3137,19 @@ function restart(options = {}) {
3137
3137
  corrected.reset();
3138
3138
  startTestSubject.next(false);
3139
3139
  hide$2();
3140
- set$2(false);
3140
+ set$4(false);
3141
3141
  setBailout(false);
3142
- if (get$1() == 'test' && window.scrollY > 0) {
3142
+ if (get$6() == 'test' && window.scrollY > 0) {
3143
3143
  window.scrollTo({ top: 0, behavior: 'smooth' });
3144
3144
  }
3145
3145
  wordsInput$1.value = ' ';
3146
3146
  reset();
3147
3147
  setResultVisible(false);
3148
- set(true);
3148
+ set$5(true);
3149
3149
  setTestRestarting(true);
3150
3150
  (async () => {
3151
- if (get$1() == 'test') {
3152
- set$4(false);
3151
+ if (get$6() == 'test') {
3152
+ set$2(false);
3153
3153
  }
3154
3154
  focusWords();
3155
3155
  wordsInput$1.value = ' ';
@@ -3172,7 +3172,7 @@ function restart(options = {}) {
3172
3172
  else {
3173
3173
  setRepeated(true);
3174
3174
  setPaceRepeat(repeatWithPace);
3175
- set$2(false);
3175
+ set$4(false);
3176
3176
  words$1.resetCurrentIndex();
3177
3177
  input.reset();
3178
3178
  showWords();
@@ -3184,7 +3184,7 @@ function restart(options = {}) {
3184
3184
  }
3185
3185
  setTestRestarting(false);
3186
3186
  clear();
3187
- set(false);
3187
+ set$5(false);
3188
3188
  // Added by me
3189
3189
  startTest();
3190
3190
  })();
@@ -3244,7 +3244,7 @@ async function getNextWord(wordset, language, wordsBound) {
3244
3244
  const randomQuote$1 = quoteController.getRandomQuote();
3245
3245
  let rq = undefined;
3246
3246
  rq = randomQuote$1;
3247
- if (rq !== (undefined || null)) {
3247
+ if (rq !== undefined && rq !== null) {
3248
3248
  rq.text = rq.text.replace(/ +/gm, ' ');
3249
3249
  rq.text = rq.text.replace(/\\\\t/gm, '\t');
3250
3250
  rq.text = rq.text.replace(/\\\\n/gm, '\n');
@@ -3299,7 +3299,7 @@ async function getNextWord(wordset, language, wordsBound) {
3299
3299
  return randomWord;
3300
3300
  }
3301
3301
  async function init() {
3302
- set$2(false);
3302
+ set$4(false);
3303
3303
  words$1.reset();
3304
3304
  setCurrentWordElementIndex(0);
3305
3305
  input.resetHistory();
@@ -3423,7 +3423,7 @@ async function init() {
3423
3423
  let rq = undefined;
3424
3424
  const randomQuote$1 = quoteController.getRandomQuote();
3425
3425
  rq = randomQuote$1;
3426
- if (rq === (undefined || null))
3426
+ if (rq === undefined || rq === null)
3427
3427
  return;
3428
3428
  rq.text = rq.text.replace(/ +/gm, ' ');
3429
3429
  rq.text = rq.text.replace(/\\\\t/gm, '\t');
@@ -3632,22 +3632,22 @@ function buildCompletedEvent(difficultyFailed) {
3632
3632
  return completedEvent;
3633
3633
  }
3634
3634
  function stopTest() {
3635
- set$2(false);
3636
3635
  set$4(false);
3636
+ set$2(false);
3637
3637
  hide$2();
3638
3638
  hide$1();
3639
3639
  clear();
3640
3640
  }
3641
3641
  async function finish(difficultyFailed = false) {
3642
- if (!get$2())
3642
+ if (!get$4())
3643
3643
  return;
3644
3644
  startTestSubject.next(false);
3645
3645
  recordKeypressSpacing(); //this is needed in case there is afk time at the end - to make sure test duration makes sense
3646
3646
  setResultCalculating(true);
3647
3647
  setResultVisible(true);
3648
3648
  setEnd(performance.now());
3649
- set$2(false);
3650
3649
  set$4(false);
3650
+ set$2(false);
3651
3651
  hide$2();
3652
3652
  hide$1();
3653
3653
  clear();
@@ -3777,7 +3777,7 @@ function updateUI() {
3777
3777
  const acc = roundTo2(calculateAccuracy());
3778
3778
  }
3779
3779
  function backspaceToPrevious() {
3780
- if (!get$2())
3780
+ if (!get$4())
3781
3781
  return;
3782
3782
  if (input.history.length == 0 || currentWordElementIndex == 0) {
3783
3783
  return;
@@ -3805,7 +3805,7 @@ function backspaceToPrevious() {
3805
3805
  addReplayEvent('backWord');
3806
3806
  }
3807
3807
  function handleSpace() {
3808
- if (!get$2())
3808
+ if (!get$4())
3809
3809
  return;
3810
3810
  if (input.current === '')
3811
3811
  return;
@@ -4006,10 +4006,10 @@ function handleChar(char, charIndex) {
4006
4006
  return;
4007
4007
  }
4008
4008
  //start the test
4009
- if (!get$2() && !startTest()) {
4009
+ if (!get$4() && !startTest()) {
4010
4010
  return;
4011
4011
  }
4012
- set$4(true);
4012
+ set$2(true);
4013
4013
  stopAnimation();
4014
4014
  const thisCharCorrect = isCharCorrect(char, charIndex);
4015
4015
  if (thisCharCorrect && config.mode !== 'zen') {
@@ -4483,13 +4483,13 @@ class TgoTypingTestComponent {
4483
4483
  wordsInputInput(event);
4484
4484
  }
4485
4485
  wordsInputFocus(event) {
4486
- if (!get$2())
4486
+ if (!get$4())
4487
4487
  return;
4488
4488
  wordsInputFocus(event);
4489
4489
  wordsInputFocusTestUI();
4490
4490
  }
4491
4491
  wordsInputFocusOut() {
4492
- if (!get$2())
4492
+ if (!get$4())
4493
4493
  return;
4494
4494
  wordsInputFocusOut();
4495
4495
  }
@@ -4541,73 +4541,57 @@ class TgoTypingTestComponent {
4541
4541
  clearInterval(this.replayIntervalID);
4542
4542
  this.subscriptions.forEach(sub => sub.unsubscribe());
4543
4543
  }
4544
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TgoTypingTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4545
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TgoTypingTestComponent, isStandalone: true, selector: "tgo-typing-test", inputs: { time: "time", punctuation: "punctuation", numbers: "numbers", funbox: "funbox", customTGQuotes: "customTGQuotes", showMiniTimerAndLiveWpm: "showMiniTimerAndLiveWpm", restartTest: "restartTest", testVersion: "testVersion", testExpiration$: "testExpiration$" }, outputs: { resultEvent: "resultEvent", replayExport: "replayExport", errorEvent: "errorEvent" }, host: { listeners: { "document:keydown": "handleKeyboardDown($event)", "document:keyup": "handleKeyboardUp($event)", "document:mousemove": "handleMouseMove($event)" } }, viewQueries: [{ propertyName: "wordsInput", first: true, predicate: ["wordsInput"], descendants: true }, { propertyName: "wordsWrapper", first: true, predicate: ["wordsWrapper"], descendants: true }, { propertyName: "words", first: true, predicate: ["words"], descendants: true }, { propertyName: "middle", first: true, predicate: ["middle"], descendants: true }, { propertyName: "capsWarning", first: true, predicate: ["capsWarning"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"centerContent\">\n <div id=\"middle\" #middle>\n <div class=\"page pageTest active\">\n <div id=\"typingTest\">\n <div id=\"capsWarning\" [ngClass]=\"{ hidden: (showCaps$ | async) === false }\" #capsWarning>\n Caps Lock\n </div>\n <div id=\"memoryTimer\">Time left to memorise all words: 0s</div>\n <div id=\"testModesNotice\"></div>\n <input\n id=\"wordsInput\"\n class=\"\"\n tabindex=\"0\"\n type=\"text\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n data-gramm=\"false\"\n data-gramm_editor=\"false\"\n data-enable-grammarly=\"false\"\n list=\"autocompleteOff\"\n (keyup)=\"wordsInputKeyup($event)\"\n (beforeinput)=\"wordsInputBeforeinput($event)\"\n (input)=\"wordsInputInput($event)\"\n (focus)=\"wordsInputFocus($event)\"\n (focusout)=\"wordsInputFocusOut()\"\n (copy)=\"wordsInputCopy($event)\"\n (paste)=\"wordsInputPaste($event)\"\n (compositionstart)=\"wordsInputCompositionstart()\"\n (compositionend)=\"wordsInputCompositionend()\"\n #wordsInput\n />\n @if (showMiniTimerAndLiveWpm) {\n <div id=\"miniTimerAndLiveWpm\" class=\"timerMain size2\">\n <div class=\"time\" [@fadeIn]=\"(showTimer$ | async) ? 'show' : 'hide'\">\n {{ timeLeft$ | async }}\n </div>\n <div class=\"wpm hidden\">60</div>\n <div class=\"acc hidden\">100%</div>\n <div class=\"burst hidden\">1</div>\n </div>\n }\n \n @if (outOfFocusShow$ | async) {\n <div class=\"outOfFocusWarning\">\n Click or press any key to focus\n </div>\n }\n \n @if (errorEvent | async; as errorMessage) {\n <div class=\"errorWarning\"> \n {{ errorMessage }} Reload the page or <a href=\"https://candidates.testgorilla.com/hc/en-us/requests/new\" target=\"_blank\">contact support</a>.\n </div>\n }\n \n <div id=\"wordsWrapper\" translate=\"no\" #wordsWrapper (click)=\"wordsWrapperClick()\">\n <div id=\"paceCaret\" class=\"default size2 hidden\"></div>\n @if (showCaret$ | async) {\n <div id=\"caret\" [@updatePositionCaret]=\"{\n value: state,\n params: { caretTopPos: caretTop, caretLeftPos: caretLeft }\n }\" \n [ngStyle]=\"{ 'animation-name': (caretAnimation$ | async) }\" class=\"default size2\">\n </div>\n }\n <div id=\"words\" class=\"size2\" #words [ngClass]=\"{ blurred: (outOfFocusShow$ | async) }\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: ["@import\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Itim:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Coming+Soon:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lalezar:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;700&display=swap\";@keyframes loader{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}@keyframes caretFlashSmooth{0%,to{opacity:0}50%{opacity:1}}@keyframes caretFlashHard{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes flashKey{0%{color:#f6f6f6;background-color:#888;border-color:#888}to{color:#888;background-color:#f6f6f6;border-color:#888}}@keyframes shake{0%{transform:translate(2px) rotate(0)}50%{transform:translate(-2px) rotate(0)}to{transform:translate(2px) rotate(0)}}@keyframes flashHighlight{0%{background-color:#f6f6f6}10%{background-color:#888}40%{background-color:#888}to{background-color:#f6f6f6}}@keyframes rgb-bg{0%{background:#4cae4c}20%{background:#409eb5}40%{background:#8134f4}60%{background:#f10e19}80%{background:#ffc505}to{background:#4cae4c}}#caret,#caret.outline,#paceCaret.outline{height:1.5rem;background:#dc322f;animation:caretFlashSmooth 1s infinite;position:absolute;border-radius:.5rem;transform-origin:top left}#paceCaret{height:1.5rem;background:#888;opacity:.5;position:absolute;border-radius:.5rem;transform-origin:top left;width:2px}#caret.off,#paceCaret.off{width:0}#caret.default,#paceCaret.default{width:2px}#caret.block,#caret.outline,#paceCaret.block,#paceCaret.outline{width:.7em;border-radius:0;z-index:-1}#caret.outline,#paceCaret.outline{animation-name:none;background:transparent;border:1px solid #dc322f}#caret.block,#caret.outline,#caret.underline,#paceCaret.block,#paceCaret.outline,#paceCaret.underline{margin-left:.1rem}#caret.block.size15,#caret.outline.size15,#caret.underline.size15,#paceCaret.block.size15,#paceCaret.outline.size15,#paceCaret.underline.size15{margin-left:.15rem}#caret.block.size2,#caret.outline.size2,#caret.underline.size2,#paceCaret.block.size2,#paceCaret.outline.size2,#paceCaret.underline.size2{margin-left:.2rem}#caret.block.size3,#caret.outline.size3,#caret.underline.size3,#paceCaret.block.size3,#paceCaret.outline.size3,#paceCaret.underline.size3{margin-left:.25em}#caret.block.size4,#caret.outline.size4,#caret.underline.size4,#paceCaret.block.size4,#paceCaret.outline.size4,#paceCaret.underline.size4{margin-left:.3rem}#caret.underline,#paceCaret.underline{height:2px;width:.8em;margin-top:1.3em}#caret.underline.size125,#paceCaret.underline.size125{margin-top:1.8em}#caret.underline.size15,#paceCaret.underline.size15{margin-top:2.1em}#caret.underline.size2,#paceCaret.underline.size2{margin-top:2.7em}#caret.underline.size3,#paceCaret.underline.size3{margin-top:3.9em}#caret.underline.size4,#paceCaret.underline.size4{margin-top:5em}#caret.size125,#paceCaret.size125{transform:scale(1.25)}#caret.size15,#paceCaret.size15{transform:scale(1.45)}#caret.size2,#paceCaret.size2{transform:scale(1.9)}#caret.size3,#paceCaret.size3{transform:scale(2.8)}#caret.size4,#paceCaret.size4{transform:scale(3.7)}::ng-deep :host{scroll-padding-top:2rem;font-weight:600}::ng-deep ::placeholder{color:#888;opacity:1}::ng-deep #app{display:grid;grid-template-columns:auto minmax(0,1000px) auto;justify-items:center}::ng-deep #app.wide125{grid-template-columns:auto minmax(0,1250px) auto}::ng-deep #app.wide150{grid-template-columns:auto minmax(0,1500px) auto}::ng-deep #app.wide200{grid-template-columns:auto minmax(0,2000px) auto}::ng-deep #app.widemax{grid-template-columns:auto minmax(0,1fr) auto}::ng-deep #nocss{display:none!important;pointer-events:none}::ng-deep .ffscroll,::ng-deep #contactPopupWrapper #contactPopup,#contactPopupWrapper ::ng-deep #contactPopup,::ng-deep #supportMeWrapper #supportMe,#supportMeWrapper ::ng-deep #supportMe,::ng-deep #versionHistoryWrapper #versionHistory,#versionHistoryWrapper ::ng-deep #versionHistory,::ng-deep html{scrollbar-width:thin;scrollbar-color:#888888 transparent}::ng-deep html{overflow-y:scroll}::ng-deep a{display:inline-block;color:#888;transition:.25s}::ng-deep a:hover{color:#181819}::ng-deep a[data-link] *{pointer-events:none}::ng-deep a.button{text-decoration:none}::ng-deep #centerContent{margin:0;padding:0;min-height:300px;font-family:Roboto Mono,Vazirmatn;color:#181819;overflow-x:hidden;border:1px solid #E0E0E0}::ng-deep .customBackground{content:\"\";width:100vw;height:100vh;position:fixed;left:0;top:0;background-position:center center;background-repeat:no-repeat;z-index:-999;justify-content:center;align-items:center;display:flex}::ng-deep #backgroundLoader{height:3px;position:fixed;width:100%;background:#888;animation:loader 2s cubic-bezier(.38,.16,.57,.82) infinite;z-index:9999}::ng-deep label.checkbox span{display:block;font-size:.76rem;color:#888;margin-left:1.5rem}::ng-deep label.checkbox input{margin:0!important;cursor:pointer;width:0;height:0;display:none;-webkit-user-select:none;user-select:none}::ng-deep label.checkbox input~.customTextCheckbox{width:1.25rem;height:1.25rem;background:#e2d8be;border-radius:.25rem;display:inline-grid;margin:0 .5rem 0 0;-webkit-user-select:none;user-select:none;cursor:pointer}::ng-deep label.checkbox input~.customTextCheckbox .check{opacity:0;color:#888;transition:.125s}::ng-deep label.checkbox input:checked~.customTextCheckbox .check{opacity:1}::ng-deep #centerContent{display:grid;grid-auto-flow:row;padding:10rem 2rem 2rem;gap:2rem;align-items:center;z-index:999;grid-template-rows:auto 1fr auto;width:100%;transition:padding-top .125s}::ng-deep #centerContent.wide125{max-width:1250px}::ng-deep #centerContent.wide150{max-width:1500px}::ng-deep #centerContent.wide200{max-width:2000px}::ng-deep #centerContent.widemax{max-width:unset}::ng-deep #key{color:#f6f6f6;background-color:#888;padding:.3rem;margin:0rem .5rem;border-radius:.1rem;display:inline-block;font-size:.7rem;line-height:.7rem}::ng-deep .pageLoading{display:grid;justify-content:center}::ng-deep .pageLoading .preloader,::ng-deep .pageAccount .preloader{text-align:center;justify-self:center;display:grid}::ng-deep .pageLoading .preloader .barWrapper,::ng-deep .pageAccount .preloader .barWrapper{display:grid;gap:1rem;grid-row:1;grid-column:1}::ng-deep .pageLoading .preloader .barWrapper .bar,::ng-deep .pageAccount .preloader .barWrapper .bar{width:20rem;height:.5rem;background:#e2d8be;border-radius:.5rem}::ng-deep .pageLoading .preloader .barWrapper .bar .fill,::ng-deep .pageAccount .preloader .barWrapper .bar .fill{height:100%;width:0%;background:#888;border-radius:.5rem}::ng-deep .pageLoading .preloader .icon,::ng-deep .pageAccount .preloader .icon{grid-row:1;grid-column:1;font-size:2rem;color:#888;margin-bottom:1rem}::ng-deep .devIndicator{position:fixed;font-size:3rem;color:#888;opacity:.25;z-index:-1}::ng-deep .devIndicator.tl{top:2rem;left:2rem}::ng-deep .devIndicator.tr{top:2rem;right:2rem}::ng-deep .devIndicator.bl{bottom:2rem;left:2rem}::ng-deep .devIndicator.br{bottom:2rem;right:2rem}::ng-deep *{box-sizing:border-box}::ng-deep .hidden{display:none!important}::ng-deep .invisible{opacity:0!important;pointer-events:none!important}::ng-deep .button{color:#181819;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;background:#e2d8be;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem}::ng-deep .button.active{background:#888;color:#f6f6f6}::ng-deep .button.active:hover{background:#181819}::ng-deep .button.active:active{background:#888;color:#f6f6f6}::ng-deep .button.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .button.disabled:hover{background:#181819;outline:none}::ng-deep .button.disabled:active{background:#888;color:#f6f6f6}::ng-deep .button:hover{color:#f6f6f6;background:#181819;outline:none}::ng-deep .button:focus{outline:2px solid #181819}::ng-deep .button:active{background:#888;color:#f6f6f6}::ng-deep .textButton{color:#888;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem;width:max-content;width:-moz-max-content;display:grid;grid-auto-flow:column;gap:.25rem;text-decoration:none}::ng-deep .textButton .fas,::ng-deep .textButton .far{display:grid;place-content:center center}::ng-deep .textButton.active{color:#888}::ng-deep .textButton.active:hover{color:#181819}::ng-deep .textButton.active:active{color:#888}::ng-deep .textButton.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .textButton.disabled:hover{background:#181819;outline:none}::ng-deep .textButton.disabled:active{background:#888;color:#f6f6f6}::ng-deep .textButton:hover{color:#181819}::ng-deep .textButton:focus{color:#181819;outline:none}::ng-deep .textButton:active{color:#888}::ng-deep .scrollToTopButton{bottom:2rem;right:2rem;position:fixed;font-size:2rem;width:4rem;height:4rem;text-align:center;line-height:4rem;background:#e2d8be;border-radius:99rem;z-index:99;cursor:pointer;color:#888;transition:.25s}::ng-deep .scrollToTopButton:hover{background:#181819;color:#f6f6f6}::ng-deep .inputAndIndicator{position:relative}::ng-deep .inputAndIndicator input{width:100%}::ng-deep .inputAndIndicator .statusIndicator{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}::ng-deep .inputAndIndicator .statusIndicator .indicator{grid-column:1/2;grid-row:1/2}::ng-deep .inputAndIndicator .statusIndicator .indicator.level-1{color:#d33682}::ng-deep .inputAndIndicator .statusIndicator .indicator.level0{color:#888}::ng-deep .inputAndIndicator .statusIndicator .indicator.level1{color:#888}::ng-deep .configureAPI.button{position:fixed;left:2rem;bottom:2rem;display:grid;grid-auto-flow:column;gap:.5rem;text-decoration:none;z-index:999999999}::ng-deep .avatar{transition:opacity .125s,filter .125s,webkit-filter .125s;width:1.25rem;height:1.25rem;border-radius:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}::ng-deep .badge{background:#888;color:#181819;border-radius:.25rem;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:max-content auto;align-items:baseline}::ng-deep .badge .fas,::ng-deep .badge .far{margin:.15rem .3rem;font-size:.9em}::ng-deep .badge .text{margin-top:.15rem;margin-bottom:.15rem;margin-right:.3rem}input,textarea{outline:none;border:none;border-radius:.5rem;background:#e2d8be;color:#181819;padding:.5rem;font-size:1rem;font-family:Roboto Mono,Vazirmatn;caret-color:#888}textarea{resize:vertical}input[type=range]{-webkit-appearance:none;padding:0;width:100%;height:1rem;border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-webkit-slider-thumb:hover{cursor:grab}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-moz-range-thumb:hover{cursor:grab}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=color]{height:3px;opacity:0;padding:0;margin:0;position:absolute;pointer-events:none}input:disabled,textarea:disabled{opacity:.33}::-moz-color-swatch{border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:none;outline:2px solid #888888;font-family:inherit;-webkit-text-fill-color:#181819;-webkit-box-shadow:0 0 0 1000000px #e2d8be inset;caret-color:#181819}.select2-dropdown{background-color:#f6f6f6;color:#181819;outline:none}.select2-container--default.select2-container--disabled .select2-selection--single{background:#e2d8be!important;opacity:.33;cursor:default;pointer-events:none}.select2-selection{background:#e2d8be;height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#181819;outline:none}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#181819;color:#f6f6f6}.select2-container--default .select2-results__option--selected{background-color:#888;color:#f6f6f6}.select2-container--open .select2-dropdown--below,.select2-container--open .select2-dropdown--above{border-color:#e2d8be;background:#f6f6f6;color:#888;border-radius:.5rem}.select2-container--default .select2-selection--single{color:#181819;background:#e2d8be;outline:none;border:none;height:auto;border-radius:.5rem}.select2-container--default.select2-container--disabled .select2-selection--single{background:#5051517a}.select2-selection:focus{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-selection:active{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:35px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent transparent transparent}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#e2d8be;background:#f6f6f6;color:#181819;border-radius:.5rem}.select2-container--default .select2-results__group{color:#181819}.select2-container--default .select2-selection--multiple{background:#e2d8be;border-radius:.5rem;color:#181819;outline:none;border:none}.select2-selection__choice__display{color:#f6f6f6}.select2-selection__choice__remove{color:#888!important}.select2-container .select2-search--inline .select2-search__field{margin:0;border-radius:0;font-family:Roboto Mono,Vazirmatn;line-height:1rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border:none}.select2-container--default .select2-selection--multiple{border:none;padding:.5rem;font-family:Roboto Mono,Vazirmatn}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#888;border:none;border-radius:.25rem;box-sizing:border-box;display:inline-block;margin-left:0;margin-top:0;margin-right:.5rem;padding:0;padding-left:1.25rem;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:1.5rem;border-right:1px solid #F6F6F6;color:#f6f6f6!important;transition:.125s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#181819}.popupWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:center;padding:2rem 0}#customTextPopupWrapper #customTextPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:60vw}#customTextPopupWrapper #customTextPopup .buttonsTop{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup .savedTexts{display:grid;gap:.5rem}#customTextPopupWrapper #customTextPopup .savedTexts .title{color:#888}#customTextPopupWrapper #customTextPopup .savedTexts .buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup textarea{background:#e2d8be;padding:1rem;color:#888;border:none;outline:none;font-size:1rem;font-family:Roboto Mono,Vazirmatn;width:100%;border-radius:.5rem;resize:vertical;height:200px;color:#181819;overflow-x:hidden;overflow-y:scroll}#customTextPopupWrapper #customTextPopup .inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;justify-items:left}#customTextPopupWrapper #customTextPopup .randomInputFields{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;width:100%;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px;max-height:80vh;overflow:auto}#savedTextsPopupWrapper #savedTextsPopup .title{font-size:1.5rem;color:#888}#savedTextsPopupWrapper #savedTextsPopup .list{display:grid;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText{display:grid;gap:.5rem;grid-template-columns:1fr 3rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText .button .fas{pointer-events:none}#wordFilterPopupWrapper #wordFilterPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#wordFilterPopupWrapper #wordFilterPopup input{width:100%}#wordFilterPopupWrapper #wordFilterPopup .group{display:grid;gap:.5rem}#wordFilterPopupWrapper #wordFilterPopup .lengthgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:1rem}#wordFilterPopupWrapper #wordFilterPopup .tip{color:#888;font-size:.8rem}#wordFilterPopupWrapper #wordFilterPopup .loadingIndicator{justify-self:center}#quoteRatePopupWrapper #quoteRatePopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:2rem;width:800px;display:grid;grid-template-areas:\"warning warning warning\" \"spacer2 spacer2 spacer2\" \"ratingStats ratingStats submitButton\" \"spacer spacer spacer\" \"quote quote quote\";grid-template-columns:auto 1fr;color:#181819}#quoteRatePopupWrapper #quoteRatePopup .warning{grid-area:warning}#quoteRatePopupWrapper #quoteRatePopup .warning span{color:#d33682}#quoteRatePopupWrapper #quoteRatePopup .spacer,#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer;width:100%;height:.1rem;border-radius:.5rem;background:#888;opacity:.25}#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer2}#quoteRatePopupWrapper #quoteRatePopup .submitButton{font-size:2rem;grid-area:submitButton;color:#888}#quoteRatePopupWrapper #quoteRatePopup .submitButton:hover{color:#181819}#quoteRatePopupWrapper #quoteRatePopup .top{color:#888;font-size:.8rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;grid-area:ratingStats}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .top{font-size:1rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .val{font-size:2.25rem}#quoteRatePopupWrapper #quoteRatePopup .quote{display:grid;grid-area:quote;gap:1rem;grid-template-areas:\"text text text\" \"id length source\";grid-template-columns:1fr 1fr 3fr}#quoteRatePopupWrapper #quoteRatePopup .quote .text{grid-area:text}#quoteRatePopupWrapper #quoteRatePopup .quote .id{grid-area:id}#quoteRatePopupWrapper #quoteRatePopup .quote .length{grid-area:length}#quoteRatePopupWrapper #quoteRatePopup .quote .source{grid-area:source}#quoteRatePopupWrapper #quoteRatePopup .stars{display:grid;color:#888;font-size:2rem;grid-template-columns:auto auto auto auto auto;justify-content:flex-start;align-items:center;cursor:pointer}#quoteRatePopupWrapper #quoteRatePopup .star{transition:.125s}#quoteRatePopupWrapper #quoteRatePopup i{pointer-events:none}#quoteRatePopupWrapper #quoteRatePopup .star.active{color:#181819}#simplePopupWrapper #simplePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#simplePopupWrapper #simplePopup .title{font-size:1.5rem;color:#888}#simplePopupWrapper #simplePopup .inputs{display:grid;gap:1rem}#simplePopupWrapper #simplePopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup{background:#f6f6f6;border-radius:.5rem;padding:1rem;display:grid;gap:1rem;width:calc(100vw - 2rem);max-width:400px}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .title{font-size:1.5rem;color:#888}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .inputs{display:grid;gap:1rem}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .group{display:grid;gap:.5rem}#customWordAmountPopupWrapper #customWordAmountPopup,#customWordAmountPopupWrapper #customTestDurationPopup,#customWordAmountPopupWrapper #practiseWordsPopup,#customWordAmountPopupWrapper #pbTablesPopup,#customTestDurationPopupWrapper #customWordAmountPopup,#customTestDurationPopupWrapper #customTestDurationPopup,#customTestDurationPopupWrapper #practiseWordsPopup,#customTestDurationPopupWrapper #pbTablesPopup,#practiseWordsPopupWrapper #customWordAmountPopup,#practiseWordsPopupWrapper #customTestDurationPopup,#practiseWordsPopupWrapper #practiseWordsPopup,#practiseWordsPopupWrapper #pbTablesPopup,#pbTablesPopupWrapper #customWordAmountPopup,#pbTablesPopupWrapper #customTestDurationPopup,#pbTablesPopupWrapper #practiseWordsPopup,#pbTablesPopupWrapper #pbTablesPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#customWordAmountPopupWrapper #customWordAmountPopup .title,#customWordAmountPopupWrapper #customTestDurationPopup .title,#customWordAmountPopupWrapper #practiseWordsPopup .title,#customWordAmountPopupWrapper #pbTablesPopup .title,#customTestDurationPopupWrapper #customWordAmountPopup .title,#customTestDurationPopupWrapper #customTestDurationPopup .title,#customTestDurationPopupWrapper #practiseWordsPopup .title,#customTestDurationPopupWrapper #pbTablesPopup .title,#practiseWordsPopupWrapper #customWordAmountPopup .title,#practiseWordsPopupWrapper #customTestDurationPopup .title,#practiseWordsPopupWrapper #practiseWordsPopup .title,#practiseWordsPopupWrapper #pbTablesPopup .title,#pbTablesPopupWrapper #customWordAmountPopup .title,#pbTablesPopupWrapper #customTestDurationPopup .title,#pbTablesPopupWrapper #practiseWordsPopup .title,#pbTablesPopupWrapper #pbTablesPopup .title{font-size:1.5rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .tip,#customWordAmountPopupWrapper #customTestDurationPopup .tip,#customWordAmountPopupWrapper #practiseWordsPopup .tip,#customWordAmountPopupWrapper #pbTablesPopup .tip,#customTestDurationPopupWrapper #customWordAmountPopup .tip,#customTestDurationPopupWrapper #customTestDurationPopup .tip,#customTestDurationPopupWrapper #practiseWordsPopup .tip,#customTestDurationPopupWrapper #pbTablesPopup .tip,#practiseWordsPopupWrapper #customWordAmountPopup .tip,#practiseWordsPopupWrapper #customTestDurationPopup .tip,#practiseWordsPopupWrapper #practiseWordsPopup .tip,#practiseWordsPopupWrapper #pbTablesPopup .tip,#pbTablesPopupWrapper #customWordAmountPopup .tip,#pbTablesPopupWrapper #customTestDurationPopup .tip,#pbTablesPopupWrapper #practiseWordsPopup .tip,#pbTablesPopupWrapper #pbTablesPopup .tip{font-size:.75rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .text,#customWordAmountPopupWrapper #customTestDurationPopup .text,#customWordAmountPopupWrapper #practiseWordsPopup .text,#customWordAmountPopupWrapper #pbTablesPopup .text,#customTestDurationPopupWrapper #customWordAmountPopup .text,#customTestDurationPopupWrapper #customTestDurationPopup .text,#customTestDurationPopupWrapper #practiseWordsPopup .text,#customTestDurationPopupWrapper #pbTablesPopup .text,#practiseWordsPopupWrapper #customWordAmountPopup .text,#practiseWordsPopupWrapper #customTestDurationPopup .text,#practiseWordsPopupWrapper #practiseWordsPopup .text,#practiseWordsPopupWrapper #pbTablesPopup .text,#pbTablesPopupWrapper #customWordAmountPopup .text,#pbTablesPopupWrapper #customTestDurationPopup .text,#pbTablesPopupWrapper #practiseWordsPopup .text,#pbTablesPopupWrapper #pbTablesPopup .text{font-size:1rem;color:#181819}#customWordAmountPopupWrapper #customTestDurationPopup .preview,#customTestDurationPopupWrapper #customTestDurationPopup .preview,#practiseWordsPopupWrapper #customTestDurationPopup .preview,#pbTablesPopupWrapper #customTestDurationPopup .preview{font-size:.75rem;color:#888}#googleSignUpPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#googleSignUpPopup .title{font-size:1.5rem;color:#888}#googleSignUpPopup .inputAndIndicator{position:relative}#googleSignUpPopup .inputAndIndicator input{width:100%}#googleSignUpPopup .inputAndIndicator .checkStatus{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available,#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{grid-column:1/2;grid-row:1/2}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available{color:#888}#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{color:#d33682}#shareTestSettingsPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:500px}#shareTestSettingsPopup .title{font-size:1.5rem;color:#888}#shareTestSettingsPopup .subgroup{padding-left:2rem}#shareTestSettingsPopup .tooLongWarning{font-size:.75rem;color:#d33682}#cookiePopupWrapper .extensionMessage{position:fixed;right:2rem;bottom:2rem;padding:1rem;width:465px;font-size:.75rem}#cookiePopupWrapper #cookiePopup{position:fixed;right:2rem;bottom:2rem;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:465px;z-index:100000001;-webkit-user-select:none;user-select:none}#cookiePopupWrapper #cookiePopup .main{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .title{font-size:1.5rem;color:#888}#cookiePopupWrapper #cookiePopup .buttons{margin-top:.25rem;display:grid;grid-auto-flow:column;gap:1rem;grid-template-columns:1fr 2.25rem}#cookiePopupWrapper #cookiePopup .settings{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .settings .customTextCheckbox{background:#888}#cookiePopupWrapper #cookiePopup .settings .cookie label{display:grid;gap:0 1rem;grid-template-columns:1fr min-content;grid-template-areas:\"title check\" \"description check\"}#cookiePopupWrapper #cookiePopup .settings .cookie label .title{grid-area:title;font-size:1.25rem}#cookiePopupWrapper #cookiePopup .settings .cookie label .description{grid-area:description}#cookiePopupWrapper #cookiePopup .settings .cookie label .customTextCheckbox{place-self:center;grid-area:check}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label{grid-template-columns:1fr;grid-template-areas:\"title\" \"description\"}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label a{margin-top:.25rem}#videoAdPopupWrapper{display:flex;padding:2rem}#videoAdPopupWrapper #videoAdPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:1rem;width:100%;max-width:1000px;aspect-ratio:16/9;display:grid;grid-template-areas:\"middle\"}#videoAdPopupWrapper #videoAdPopup .preloader{grid-area:middle;display:grid;place-items:center center;gap:1rem;font-size:2rem;color:#888;height:max-content;align-self:center}#videoAdPopupWrapper #videoAdPopup .video{grid-area:middle}#pbTablesPopupWrapper #pbTablesPopup{min-width:50rem;max-height:calc(100vh - 10rem);overflow-y:scroll}#pbTablesPopupWrapper #pbTablesPopup .title{color:#181819}#pbTablesPopupWrapper #pbTablesPopup table{border-spacing:0;border-collapse:collapse;color:#181819}#pbTablesPopupWrapper #pbTablesPopup table td{padding:.5rem}#pbTablesPopupWrapper #pbTablesPopup table thead{color:#888;font-size:.75rem}#pbTablesPopupWrapper #pbTablesPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#pbTablesPopupWrapper #pbTablesPopup table td.infoIcons span{margin:0 .1rem}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton{opacity:.25;transition:.25s;cursor:pointer}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton:hover{opacity:1}#pbTablesPopupWrapper #pbTablesPopup table .sub{opacity:.5}#pbTablesPopupWrapper #pbTablesPopup table td{text-align:right}#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(6),#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(7){text-align:center}#pbTablesPopupWrapper #pbTablesPopup table tbody td:nth-child(1){font-size:1.5rem}#customThemeShareWrapper #customThemeShare{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSearchPopupWrapper .highlight{color:#888}#quoteSearchPopupWrapper #quoteSearchPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:80vw;max-width:1000px;height:80vh;grid-template-rows:auto auto auto 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop{display:flex;justify-content:space-between}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .title{font-size:1.5rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons{width:33%;display:grid;gap:.5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons .button{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{display:grid;grid-template-columns:1.5fr 1fr max-content;gap:1rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #searchBox{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #toggleShowFavorites{height:100%;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem}#quoteSearchPopupWrapper #quoteSearchPopup #extraResults{text-align:center;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults{display:grid;gap:.5rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult{display:grid;grid-template-columns:1fr 1fr 3fr 0fr 0fr;grid-template-areas:\"text text text text text\" \"id len source report favorite\";grid-auto-rows:auto;width:100%;gap:.5rem;transition:.25s;padding:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;height:min-content}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .text{grid-area:text;overflow:visible;color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .id{grid-area:id;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .length{grid-area:len;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .source{grid-area:source;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .resultChevron{grid-area:chevron;display:flex;align-items:center;justify-items:center;color:#888;font-size:2rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report{grid-area:report;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite{grid-area:favorite;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .sub{opacity:.5}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult:hover{background:#e2d8be;border-radius:5px}#settingsImportWrapper #settingsImport{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSubmitPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:100%;max-height:40rem;overflow-y:scroll}#quoteSubmitPopup label{color:#888;margin-bottom:-1rem}#quoteSubmitPopup .title{font-size:1.5rem;color:#888}#quoteSubmitPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteSubmitPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteSubmitPopup .characterCount.red{color:#d33682}#apeKeysPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;width:1000px;max-width:calc(100vw - 4rem);min-height:18rem;overflow-y:scroll;grid-template-rows:max-content auto;align-items:baseline;gap:1rem}#apeKeysPopup .top{display:grid;grid-template-columns:1fr auto}#apeKeysPopup .top .title{font-size:1.5rem;color:#888}#apeKeysPopup .top .button{padding:.4rem 2rem}#apeKeysPopup .textButton{justify-content:center}#apeKeysPopup .keyButtons{display:grid;grid-auto-flow:column;gap:1rem}#apeKeysPopup .keyButtons .button{width:3rem}#apeKeysPopup table{width:100%;border-spacing:0;border-collapse:collapse}#apeKeysPopup table tr td:first-child{text-align:center}#apeKeysPopup table tr.me td{color:#888}#apeKeysPopup table td{padding:.5rem}#apeKeysPopup table thead{color:#888;font-size:.75rem}#apeKeysPopup table thead td{padding:.5rem;background:#f6f6f6;position:-webkit-sticky;position:sticky;top:0;z-index:99}#apeKeysPopup table tbody{color:#181819}#apeKeysPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#apeKeysPopup table tfoot td{padding:1rem .5rem;position:-webkit-sticky;position:sticky;bottom:-5px;background:#f6f6f6;color:#888;z-index:4}#apeKeysPopup table tr td:first-child{padding-left:1rem}#apeKeysPopup table tr td:last-child{padding-right:1rem}#quoteApprovePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;height:80vh;grid-template-rows:auto 1fr}#quoteApprovePopup .top{display:flex;justify-content:space-between}#quoteApprovePopup .top .title{font-size:1.5rem;color:#888}#quoteApprovePopup .top .button{width:33%}#quoteApprovePopup .quotes{display:grid;gap:1rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteApprovePopup .quotes .quote{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto 2rem;width:100%;gap:1rem;transition:.25s;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:min-content;margin-bottom:1rem}#quoteApprovePopup .quotes .quote .text{grid-column:1/2;grid-row:1/2;overflow:visible;color:#181819;resize:vertical;min-height:4rem}#quoteApprovePopup .quotes .quote .source{grid-column:1/2;grid-row:2/3;color:#181819}#quoteApprovePopup .quotes .quote .buttons{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;grid-column:2/3;grid-row:1/4;color:#888}#quoteApprovePopup .quotes .quote .bottom{display:flex;justify-content:space-around;color:#888}#quoteApprovePopup .quotes .quote .bottom .length.red{color:#d33682}#quoteApprovePopup .quotes .quote .sub{opacity:.5}#quoteApprovePopup .quotes .searchResult:hover{background:#e2d8be;border-radius:5px}#quoteReportPopupWrapper #quoteReportPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:auto;max-height:40rem;overflow-y:scroll;width:calc(100% - 4rem);margin-left:2rem;max-width:800px}#quoteReportPopupWrapper #quoteReportPopup label{color:#888;margin-bottom:-1rem}#quoteReportPopupWrapper #quoteReportPopup .quote{font-size:1.5rem}#quoteReportPopupWrapper #quoteReportPopup .title{font-size:1.5rem;color:#888}#quoteReportPopupWrapper #quoteReportPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteReportPopupWrapper #quoteReportPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteReportPopupWrapper #quoteReportPopup .characterCount.red{color:#d33682}#resultEditTagsPanelWrapper #resultEditTagsPanel{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll;width:500px}#resultEditTagsPanelWrapper #resultEditTagsPanel .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}#versionHistoryWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:start;padding:5rem 0}#versionHistoryWrapper #versionHistory{width:75vw;height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#versionHistoryWrapper #versionHistory .tip{text-align:center;color:#888}#versionHistoryWrapper #versionHistory .releases{display:grid;gap:4rem}#versionHistoryWrapper #versionHistory .releases .release{display:grid;grid-template-areas:\"title date\" \"body body\"}#versionHistoryWrapper #versionHistory .releases .release .title{grid-area:title;font-size:2rem;color:#888}#versionHistoryWrapper #versionHistory .releases .release .date{grid-area:date;text-align:right;color:#888;align-self:center}#versionHistoryWrapper #versionHistory .releases .release .body{grid-area:body;color:#181819}#versionHistoryWrapper #versionHistory .releases .release:last-child{margin-bottom:2rem}#supportMeWrapper #supportMe{width:900px;overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem}#supportMeWrapper #supportMe .title{font-size:1.5rem;color:#888}#supportMeWrapper #supportMe .text{color:#181819}#supportMeWrapper #supportMe .subtext{color:#888;font-size:.75rem}#supportMeWrapper #supportMe .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#supportMeWrapper #supportMe .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;gap:1rem;text-decoration:none}#supportMeWrapper #supportMe .buttons .button .text{transition:.25s}#supportMeWrapper #supportMe .buttons .button:hover .text{color:#f6f6f6}#supportMeWrapper #supportMe .buttons .button .icon{font-size:3rem;line-height:3rem}#contactPopupWrapper #contactPopup{overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem;margin:0 2rem;max-width:900px}#contactPopupWrapper #contactPopup .title{font-size:1.5rem;line-height:2rem;color:#888}#contactPopupWrapper #contactPopup .text{color:#181819}#contactPopupWrapper #contactPopup .text span{color:#d33682}#contactPopupWrapper #contactPopup .subtext{color:#888;font-size:.75rem;grid-area:subtext}#contactPopupWrapper #contactPopup .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr}#contactPopupWrapper #contactPopup .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;text-decoration:none;grid-template-areas:\"icon textgroup\";grid-template-columns:auto 1fr;text-align:left;align-items:center}#contactPopupWrapper #contactPopup .buttons .button .textGroup{grid-area:textgroup}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1.5rem;line-height:2rem;transition:.25s}#contactPopupWrapper #contactPopup .buttons .button:hover .text{color:#f6f6f6}#contactPopupWrapper #contactPopup .buttons .button .icon{grid-area:icon;font-size:2rem;line-height:2rem;padding:0 1rem}#presetWrapper #presetEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#presetWrapper #presetEdit .title{font-size:1.5rem;color:#888}#tagsWrapper #tagsEdit,#tagsWrapper #newResultFilterPresetPopup,#tagsWrapper #editProfilePopup,#newResultFilterPresetPopupWrapper #tagsEdit,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup,#newResultFilterPresetPopupWrapper #editProfilePopup,#editProfilePopupWrapper #tagsEdit,#editProfilePopupWrapper #newResultFilterPresetPopup,#editProfilePopupWrapper #editProfilePopup{max-height:90vh;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#tagsWrapper #tagsEdit .title,#tagsWrapper #newResultFilterPresetPopup .title,#tagsWrapper #editProfilePopup .title,#newResultFilterPresetPopupWrapper #tagsEdit .title,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup .title,#newResultFilterPresetPopupWrapper #editProfilePopup .title,#editProfilePopupWrapper #tagsEdit .title,#editProfilePopupWrapper #newResultFilterPresetPopup .title,#editProfilePopupWrapper #editProfilePopup .title{font-size:1.5rem;color:#888}#editProfilePopup{width:100%;max-width:600px}#editProfilePopup label{color:#888}#editProfilePopup input{width:100%}#editProfilePopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem;max-height:10rem}#editProfilePopup .socialURL{display:flex}#editProfilePopup .socialURL>p{margin-block:.5rem;margin-inline-end:.5rem}#editProfilePopup .badgeSelectionContainer{display:flex;flex-wrap:wrap}#editProfilePopup .badgeSelectionItem{width:max-content;opacity:25%;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem}#editProfilePopup .badgeSelectionItem.selected,#editProfilePopup .badgeSelectionItem:hover{opacity:100%}#customThemesWrapper #customThemesEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}::ng-deep #timerWrapper{opacity:0;transition:.25s;z-index:-1;position:relative;z-index:99}::ng-deep #timerWrapper #timer{position:fixed;top:0;left:0;width:100vw;height:.5rem;background:#000;z-index:-1}::ng-deep #timerWrapper #timer.timerMain{background:#888}::ng-deep #timerWrapper #timer.timerSub{background:#888}::ng-deep #timerWrapper #timer.timerText{background:#181819}::ng-deep .pageTest{position:relative}::ng-deep .pageTest .ssWatermark{font-size:1.25rem;color:#888;line-height:1rem;text-align:right}::ng-deep .pageTest #timerNumber{pointer-events:none;transition:.25s;color:#000;line-height:0;z-index:-1;text-align:center;left:0;width:100%;position:relative;font-size:10rem;opacity:0;width:0;height:0;margin:0 auto;display:grid;justify-content:center;bottom:6rem;transition:none}::ng-deep .pageTest #largeLiveWpmAndAcc{font-size:10rem;color:#000;width:100%;left:0;text-align:center;z-index:-1;height:0;line-height:0;top:5rem;position:relative;display:grid;grid-auto-flow:column;justify-content:center;gap:5rem;width:0;margin:0 auto}::ng-deep .pageTest #largeLiveWpmAndAcc #liveWpm{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveAcc{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveBurst{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc.timerMain,::ng-deep .pageTest #timerNumber.timerMain{color:#888}::ng-deep .pageTest #timer.timerMain{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerSub,::ng-deep .pageTest #timerNumber.timerSub{color:#888}::ng-deep .pageTest #timer.timerSub{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerText,::ng-deep .pageTest #timerNumber.timerText{color:#181819}::ng-deep .pageTest #timer.timerText{background:#181819}::ng-deep #words,::ng-deep .words{height:fit-content;height:-moz-fit-content;display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none;padding-bottom:1em}::ng-deep #words .newline,::ng-deep .words .newline{width:inherit}::ng-deep #words letter,::ng-deep .words letter{border-bottom-style:solid;border-bottom-width:.05em;border-bottom-color:transparent}::ng-deep #words letter.dead,::ng-deep .words letter.dead{border-bottom-width:.05em;border-bottom-color:#888}::ng-deep #words letter.tabChar,::ng-deep #words letter.nlChar,::ng-deep .words letter.tabChar,::ng-deep .words letter.nlChar{margin:0 .25rem;opacity:.2}::ng-deep #words.rightToLeftTest,::ng-deep .words.rightToLeftTest{direction:rtl}::ng-deep #words.rightToLeftTest .word,::ng-deep .words.rightToLeftTest .word{direction:rtl}::ng-deep #words.withLigatures letter,::ng-deep .words.withLigatures letter{display:inline}::ng-deep #words.blurred,::ng-deep .words.blurred{opacity:.25;filter:blur(4px);-webkit-filter:blur(4px)}::ng-deep #words.flipped .word,::ng-deep .words.flipped .word{color:#181819}::ng-deep #words.flipped .word letter.dead,::ng-deep .words.flipped .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped .word letter.correct,::ng-deep .words.flipped .word letter.correct{color:#888}::ng-deep #words.flipped .word letter.corrected,::ng-deep .words.flipped .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped .word letter.extraCorrected,::ng-deep .words.flipped .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.colorfulMode .word letter.dead,::ng-deep .words.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.colorfulMode .word letter.correct,::ng-deep .words.colorfulMode .word letter.correct{color:#888}::ng-deep #words.colorfulMode .word letter.corrected,::ng-deep .words.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.extraCorrected,::ng-deep .words.colorfulMode .word letter.extraCorrected{border-right:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.incorrect,::ng-deep .words.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.colorfulMode .word letter.incorrect.extra,::ng-deep .words.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.flipped.colorfulMode .word,::ng-deep .words.flipped.colorfulMode .word{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.dead,::ng-deep .words.flipped.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped.colorfulMode .word letter.correct,::ng-deep .words.flipped.colorfulMode .word letter.correct{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.corrected,::ng-deep .words.flipped.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.extraCorrected,::ng-deep .words.flipped.colorfulMode .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.incorrect,::ng-deep .words.flipped.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.flipped.colorfulMode .word letter.incorrect.extra,::ng-deep .words.flipped.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.tape.size125 .word,::ng-deep .words.tape.size125 .word{margin:.31rem .62rem .31rem 0}::ng-deep #words.tape.size15 .word,::ng-deep .words.tape.size15 .word{margin:.37rem .74rem .37rem 0}::ng-deep #words.tape.size2 .word,::ng-deep .words.tape.size2 .word{margin:.5rem 1rem .5rem 0}::ng-deep #words.tape.size3 .word,::ng-deep .words.tape.size3 .word{margin:.75rem 1.5rem .75rem 0}::ng-deep #words.tape.size4 .word,::ng-deep .words.tape.size4 .word{margin:1rem 2rem 1rem 0}::ng-deep #words.tape.indicateTyposBelow.size125 .word,::ng-deep .words.tape.indicateTyposBelow.size125 .word{margin:.31rem .62rem .93rem 0}::ng-deep #words.tape.indicateTyposBelow.size15 .word,::ng-deep .words.tape.indicateTyposBelow.size15 .word{margin:.37rem .74rem 1.11rem 0}::ng-deep #words.tape.indicateTyposBelow.size2 .word,::ng-deep .words.tape.indicateTyposBelow.size2 .word{margin:.5rem 1rem 1.5rem 0}::ng-deep #words.tape.indicateTyposBelow.size3 .word,::ng-deep .words.tape.indicateTyposBelow.size3 .word{margin:.75rem 1.5rem 2.25rem 0}::ng-deep #words.tape.indicateTyposBelow.size4 .word,::ng-deep .words.tape.indicateTyposBelow.size4 .word{margin:1rem 2rem 3rem 0}::ng-deep .word{margin:.25rem;color:#888;font-variant:no-common-ligatures;border-bottom:2px solid transparent;line-height:1rem}::ng-deep .word letter{display:inline-block}::ng-deep .word.lastbeforenewline:after{font-family:\"Font Awesome 5 Free\";font-weight:600;content:\"\\f107\";margin-left:.5rem;opacity:.25}::ng-deep .word .wordInputAfter{opacity:1;position:absolute;background:#888;color:#f6f6f6;padding:.5rem;margin-left:-.5rem;border-radius:.5rem;transition:.25s;text-shadow:none;top:-.5rem;z-index:10;cursor:text}::ng-deep .word .wordInputAfter .speed{font-size:.75rem}::ng-deep #words.size125 .word{line-height:1.25rem;font-size:max(1.25rem,24px);margin:.31rem}::ng-deep #words.size15 .word{line-height:1.5rem;font-size:max(1.5rem,24px);margin:.37rem}::ng-deep #words.size2 .word{line-height:2rem;font-size:max(2rem,24px);margin:.5rem}::ng-deep #words.size3 .word{line-height:3rem;font-size:max(3rem,24px);margin:.75rem}::ng-deep #words.size4 .word{line-height:4rem;font-size:max(4rem,24px);margin:1rem}::ng-deep #words.nospace .word{margin:.5rem 0}::ng-deep #words.arrows .word{margin:.5rem 0}::ng-deep #words.arrows .word letter{margin:0 .25rem}::ng-deep .word.error{border-bottom:2px solid #d33682;text-shadow:1px 0px 0px #F6F6F6,-1px 0px 0px #F6F6F6,0px 1px 0px #F6F6F6,1px 1px 0px #F6F6F6,-1px 1px 0px #F6F6F6}::ng-deep #words.noErrorBorder .word.error,::ng-deep #resultWordsHistory.noErrorBorder .word.error{text-shadow:none}::ng-deep .word letter.correct{color:#181819}::ng-deep .word letter.corrected{color:#181819;border-bottom:2px dotted #888888}::ng-deep .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep .word letter.incorrect{color:#d33682;position:relative}::ng-deep .word letter.incorrect hint{position:absolute;bottom:-1em;color:#181819;line-height:initial;font-size:.75em;text-shadow:none;padding:1px;left:0;opacity:.5;text-align:center;width:100%;display:grid;justify-content:center}::ng-deep .word letter.incorrect.extra{color:#9b225c}::ng-deep .word letter.missing{opacity:.5}::ng-deep #words.flipped.colorfulMode .word.error,::ng-deep #words.colorfulMode .word.error{border-bottom:2px solid #d33682}::ng-deep #wordsInput{opacity:0;padding:0;margin:0;border:none;outline:none;display:block;resize:none;position:fixed;z-index:-1;cursor:default;pointer-events:none}::ng-deep #capsWarning{background:#888;color:#f6f6f6;display:table;position:absolute;left:50%;transform:translate(-50%) translateY(-50%);padding:1rem;border-radius:.5rem;transition:.125s;z-index:999;pointer-events:none;top:-2.5rem}::ng-deep #capsWarning i{margin-right:.5rem}::ng-deep #result{display:grid;gap:1rem;align-items:center;grid-template-columns:auto 1fr;grid-template-areas:\"stats chart\" \"morestats morestats\"}::ng-deep #result:focus{outline:none}::ng-deep #result .buttons{display:grid;grid-auto-flow:column;gap:1rem;justify-content:center;grid-column:1/3}::ng-deep #result .ssWatermark{grid-column:1/3}::ng-deep #result #resultWordsHistory,::ng-deep #result #resultReplay{color:#888;margin-bottom:1rem}::ng-deep #result #resultWordsHistory .textButton,::ng-deep #result #resultReplay .textButton{padding:0;margin-left:.5rem}::ng-deep #result #resultWordsHistory .heatmapLegend,::ng-deep #result #resultReplay .heatmapLegend{margin-left:.5rem;display:inline-grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.75rem;color:#888;width:min-content}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes,::ng-deep #result #resultReplay .heatmapLegend .boxes{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box,::ng-deep #result #resultReplay .heatmapLegend .boxes .box{height:1rem;color:#f6f6f6;padding:.1rem .5rem;white-space:nowrap;line-height:.75rem;display:grid;place-content:center center}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(1),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(1){background:#d33682;border-radius:.5rem 0 0 .5rem}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(2),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(2){background:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(3),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(3){background:#888}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(4),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(4){background:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(5),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(5){background:#888;border-radius:0 .5rem .5rem 0}::ng-deep #result #resultWordsHistory .title,::ng-deep #result #resultReplay .title{-webkit-user-select:none;user-select:none;margin-bottom:.25rem}::ng-deep #result #resultWordsHistory .words,::ng-deep #result #resultReplay .words{display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none}::ng-deep #result #resultWordsHistory .words .word,::ng-deep #result #resultReplay .words .word{position:relative;margin:.18rem .6rem .15rem 0}::ng-deep #result #resultWordsHistory .words .word letter.correct,::ng-deep #result #resultReplay .words .word letter.correct{color:#181819}::ng-deep #result #resultWordsHistory .words .word letter.incorrect,::ng-deep #result #resultReplay .words .word letter.incorrect{color:#d33682}::ng-deep #result #resultWordsHistory .words .word letter.incorrect.extra,::ng-deep #result #resultReplay .words .word letter.incorrect.extra{color:#9b225c}::ng-deep #result #resultWordsHistory .words .word.heatmap0 letter,::ng-deep #result #resultReplay .words .word.heatmap0 letter{color:#d33682}::ng-deep #result #resultWordsHistory .words .word.heatmap1 letter,::ng-deep #result #resultReplay .words .word.heatmap1 letter{color:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap2 letter,::ng-deep #result #resultReplay .words .word.heatmap2 letter{color:#888}::ng-deep #result #resultWordsHistory .words .word.heatmap3 letter,::ng-deep #result #resultReplay .words .word.heatmap3 letter{color:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap4 letter,::ng-deep #result #resultReplay .words .word.heatmap4 letter{color:#888}::ng-deep #result #resultWordsHistory .words.rightToLeftTest,::ng-deep #result #resultReplay .words.rightToLeftTest{direction:rtl}::ng-deep #result #resultWordsHistory .words.rightToLeftTest .word,::ng-deep #result #resultReplay .words.rightToLeftTest .word{direction:rtl}::ng-deep #result #resultWordsHistory .words.withLigatures letter,::ng-deep #result #resultReplay .words.withLigatures letter{display:inline}::ng-deep #result .chart{grid-area:chart;width:100%;max-height:200px;height:200px}::ng-deep #result .chart canvas{width:100%!important;height:100%}::ng-deep #result .chart .title{color:#888;margin-bottom:1rem}::ng-deep #result .loginTip{grid-column:1/3;text-align:center;color:#888}::ng-deep #result .loginTip .link{text-decoration:underline;display:inline-block;cursor:pointer}::ng-deep #result .stats{grid-area:stats;display:grid;gap:.5rem;justify-content:center;align-items:center;grid-template-areas:\"wpm\" \"acc\"}::ng-deep #result .stats.morestats{display:grid;grid-auto-flow:column;grid-template-areas:none;align-items:flex-start;justify-content:space-between;column-gap:2rem;grid-area:morestats}::ng-deep #result .stats.morestats .subgroup{display:grid;gap:.5rem}::ng-deep #result .stats .group .top{color:#888;font-size:1rem;line-height:1rem;margin-bottom:.25rem}::ng-deep #result .stats .group .bottom{color:#888;font-size:2rem;line-height:2rem}::ng-deep #result .stats .group.time .afk,::ng-deep #result .stats .group.time .timeToday{color:#888;font-size:.75rem;line-height:.75rem;margin-left:.2rem}::ng-deep #result .stats .group.source #rateQuoteButton,::ng-deep #result .stats .group.source #reportQuoteButton,::ng-deep #result .stats .group.source #favoriteQuoteButton{padding:0 .25rem}::ng-deep #result .stats .group.source #rateQuoteButton{display:inline-grid;gap:.25rem}::ng-deep #result .stats .info .top,::ng-deep #result .stats .tags .top,::ng-deep #result .stats .source .top{font-size:1rem;line-height:1rem}::ng-deep #result .stats .info .bottom,::ng-deep #result .stats .tags .bottom,::ng-deep #result .stats .source .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .source{max-width:30rem}::ng-deep #result .stats .tags .bottom .fas{margin-left:.5rem}::ng-deep #result .stats .wpm{grid-area:wpm}::ng-deep #result .stats .wpm .top{font-size:2rem;line-height:1.5rem;display:flex}::ng-deep #result .stats .wpm .top .crown{margin-left:.5rem;margin-top:-.2rem;font-size:.7rem;line-height:1.7rem;background:#888;color:#f6f6f6;border-radius:.6rem;text-align:center;align-self:center;width:1.7rem;height:1.7rem}::ng-deep #result .stats .wpm .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .testType .bottom,::ng-deep #result .stats .leaderboards .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .testType .bottom .lbChange .fas,::ng-deep #result .stats .leaderboards .bottom .lbChange .fas{margin-right:.15rem}::ng-deep #result .stats .acc{grid-area:acc}::ng-deep #result .stats .acc .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .acc .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .burst{grid-area:burst}::ng-deep #result .stats .burst .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .burst .bottom{font-size:4rem;line-height:4rem}::ng-deep #restartTestButton,::ng-deep #showWordHistoryButton,::ng-deep #saveScreenshotButton,::ng-deep #restartTestButtonWithSameWordset,::ng-deep #nextTestButton,::ng-deep #practiseWordsButton,::ng-deep #watchReplayButton,::ng-deep #watchVideoAdButton{position:relative;border-radius:.5rem;padding:1rem 2rem;width:min-content;width:-moz-min-content;color:#888;transition:.125s;cursor:pointer}::ng-deep #restartTestButton:hover,::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:hover,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:hover,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:hover,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:hover,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:hover,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:hover,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:hover,::ng-deep #watchVideoAdButton:focus{color:#181819;outline:none}::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:focus{background:#181819;color:#f6f6f6}::ng-deep #retrySavingResultButton{position:relative;border-radius:.5rem;padding:1rem 2rem;color:#d33682;transition:.25s;cursor:pointer;width:max-content;width:-moz-max-content;background:#d33682;color:#f6f6f6;justify-self:center;justify-content:center;margin:0 auto 1rem;-webkit-user-select:none;user-select:none}::ng-deep #retrySavingResultButton:hover,::ng-deep #retrySavingResultButton:focus{background:#181819;outline:none}::ng-deep #retrySavingResultButton:focus{background:#181819}::ng-deep #showWordHistoryButton{opacity:1}::ng-deep #replayWords{cursor:pointer}::ng-deep #replayStopwatch{color:#888;display:inline-block;margin:0 0 0 .5em}::ng-deep #restartTestButton{margin:0 auto;margin-top:1rem}::ng-deep .pageTest #wordsWrapper{position:relative}::ng-deep .pageTest #wordsWrapper.tape{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 1%,rgb(0,0,0) 10%,rgb(0,0,0) 90%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(90deg,#0000 1%,#000 10% 90%,#0000 99%)}::ng-deep .pageTest #memoryTimer{background:#888;color:#f6f6f6;padding:1rem;border-radius:.5rem;text-align:center;width:max-content;left:50%;position:absolute;transform:translate(-50%);top:-6rem;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0}::ng-deep .pageTest .outOfFocusWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .pageTest .errorWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:auto;user-select:auto}::ng-deep .pageTest #testModesNotice{display:flex;flex-wrap:wrap;color:#888;text-align:center;margin-bottom:.5rem;transition:.125s;justify-content:center;-webkit-user-select:none;user-select:none}::ng-deep .pageTest #testModesNotice .textButton{margin:0 .5rem}::ng-deep .pageTest #testModesNotice .fas{margin-right:.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm{height:0;margin-left:.37rem;display:flex;font-size:1rem;line-height:1.13rem;margin-top:-1.5rem;position:absolute;color:#000;font-weight:700}::ng-deep .pageTest #miniTimerAndLiveWpm .time{margin-right:2rem;margin-top:-2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc{margin-right:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .time,::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc,::ng-deep .pageTest #miniTimerAndLiveWpm .burst{opacity:0}::ng-deep .pageTest #miniTimerAndLiveWpm.timerMain{color:#00000080}::ng-deep .pageTest #miniTimerAndLiveWpm.timerSub{color:#888}::ng-deep .pageTest #miniTimerAndLiveWpm.timerText{color:#181819}::ng-deep .pageTest #miniTimerAndLiveWpm.size125{margin-top:-1.75rem;font-size:1.38rem;line-height:1.25rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size15{margin-top:-2rem;font-size:1.63rem;line-height:1.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size2{margin-top:-2.5rem;font-size:2.13rem;line-height:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size3{margin-top:-3.5rem;font-size:3.13rem;line-height:3rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size4{margin-top:-4.5rem;font-size:4.13rem;line-height:4rem}::ng-deep #middle.focus .pageTest #testModesNotice{opacity:0!important}@media only screen and (max-width: 1330px){.ad.ad-v{display:none}#app{grid-template-columns:auto}}@media only screen and (max-width: 1250px){#leaderboardsWrapper #leaderboards .mainTitle{font-size:2rem}#leaderboardsWrapper #leaderboards .title{font-size:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop{grid-template-columns:auto 1fr max-content}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row;gap:.5rem}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:none}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem .5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr 1fr max-content}}@media only screen and (max-width: 1050px){.profile .pbsWords,.profile .pbsTime{font-size:.8rem}.profile .details.bioAndKey .bioAndKeyboard .value{font-size:.75rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr}#result .morestats{gap:1rem;grid-template-rows:1fr 1fr}#supportMe{width:90vw!important}#supportMe .buttons .button .icon{font-size:3rem!important;line-height:3rem!important}#customTextPopup{width:80vw!important}#customTextPopup .wordfilter.button{width:50%!important}}@media only screen and (max-width: 1000px){#quoteRatePopup{width:90vw!important}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr;grid-auto-flow:row;grid-template-columns:auto auto auto auto}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr;gap:.25rem 1rem}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(5){display:none}}@media only screen and (max-width: 900px){.ad.ad-h{display:none}.ad.ad-h-s{display:grid}.profile .pbsWords,.profile .pbsTime{font-size:1rem}.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.soc{grid-template-columns:1.25fr auto 1fr auto auto}.profile .details.soc .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-columns:1.25fr auto auto auto 1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-columns:1.25fr auto 1.25fr auto;grid-template-areas:\"avAndName sep2 bioAndKey bioAndKey\" \"typingStats typingStats typingStats socials\"}.profile .details.both .sep1,.profile .details.both .sep3{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr;width:100%}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}.profile .details.none{grid-template-columns:1fr auto 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}#leaderboards .mainTitle{font-size:1.5rem!important}#bannerCenter .banner .container{grid-template-columns:1fr auto}#bannerCenter .banner .container .image,#bannerCenter .banner .container .lefticon,#bannerCenter .banner .container .righticon{display:none}#bannerCenter .banner .container .text{margin-left:1.5rem;text-align:left;justify-self:start}.merchBanner img{display:none}.merchBanner .text{padding:.25rem 0}.pageSettings .section.autoSwitchThemeInputs{grid-template-columns:1fr 3fr}.pageAccount .group.personalBestTables .tables{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(1),.pageAccount .group.history table thead td:nth-child(8),.pageAccount .group.history table thead td:nth-child(9),.pageAccount .group.history table tbody td:nth-child(1),.pageAccount .group.history table tbody td:nth-child(8),.pageAccount .group.history table tbody td:nth-child(9){display:none}}@media only screen and (max-width: 800px){.pageSettings .settingsGroup.quickNav .links{grid-auto-flow:unset;grid-template-columns:1fr 1fr 1fr;justify-items:center}#centerContent #top{grid-template-areas:\"logo config\" \"menu config\";grid-template-columns:auto auto}#centerContent #top .logo{margin-bottom:0}#centerContent #menu{gap:.5rem;font-size:.8rem;line-height:.8rem;margin-top:-.5rem}#centerContent #menu .textButton{padding:.25rem}#contactPopupWrapper #contactPopup .buttons{grid-template-columns:1fr}.pageAbout .section .contributors,.pageAbout .section .supporters{grid-template-columns:1fr 1fr 1fr}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons{grid-template-columns:1fr 1fr}.pageSettings .section.customBackgroundFilter .groups{grid-template-columns:1fr}.pageSettings .section.customBackgroundFilter .saveContainer{grid-column:-1/-2}#commandLine,#commandLineInput{width:600px!important}#leaderboardsWrapper #leaderboards .leaderboardsTop{flex-direction:column;align-items:baseline;grid-template-areas:\"title title\" \"subtitle subtitle\" \"yesterday yesterday\" \"buttons buttons\";grid-template-columns:1fr}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttons{margin-top:.5rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:column}#leaderboardsWrapper #leaderboards .leaderboardsTop .showYesterdayButton{margin-left:0}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{width:30%}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}}@media only screen and (max-width: 700px){.pageAccount .presetFilterButtons .buttons{grid-template-columns:1fr}.pageAccount .triplegroup{grid-template-columns:1fr 1fr}.pageAccount .triplegroup .emptygroup{display:none}.pageAccount .group.chart .below{grid-template-columns:1fr;gap:.5rem}.pageAccount .group.topFilters .buttonsAndTitle .buttons{display:grid;justify-content:unset}.pageAccount .group.history table thead td:nth-child(6),.pageAccount .group.history table tbody td:nth-child(6){display:none}.badge:after,.badge:before{display:none}}@media only screen and (max-width: 650px){.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.none{grid-template-areas:\"avAndName\" \"typingStats\";grid-template-columns:1fr}.profile .details.none .separator{display:none}.profile .details.none .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\";grid-template-columns:1fr 1fr}.profile .details.bioAndKey .separator{display:none}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc{grid-template-areas:\"avAndName\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.soc .separator{display:none}.profile .details.soc .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc .socials{justify-content:start}.profile .details.soc .socials .title{display:block}.profile .details.soc .socials .value{grid-auto-flow:column}.profile .details.both{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\" \"socials socials\";grid-template-columns:1fr 1fr}.profile .details.both .separator{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}#quoteRatePopup .ratingStats{grid-template-columns:1fr 1fr!important}#quoteRatePopup .quote{grid-template-areas:\"text text text\" \"source source source\" \"id length length\"!important}.pageSettings .section{grid-template-columns:1fr;grid-template-areas:\"title\" \"text\" \"buttons\"}.pageSettings .section>.text{margin-bottom:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/5;width:100%;text-align:center}#supportMe{width:80vw!important}#supportMe .buttons{grid-template-columns:none!important}#supportMe .buttons .button{grid-template-columns:auto 1fr;align-items:center}#supportMe .buttons .button .icon{font-size:2rem!important;line-height:2rem!important;margin-left:2rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 600px){.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr 1fr}#top .logo .bottom{margin-top:0}.pageLogin{display:grid;gap:5rem;grid-auto-flow:unset}#middle #result{grid-template-areas:\"stats stats\" \"chart chart\" \"morestats morestats\"}#middle #result .stats{grid-template-areas:\"wpm acc\";gap:2rem}#middle #result .stats.morestats{grid-template-rows:1fr 1fr 1fr;gap:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row}#commandLine,#commandLineInput{width:500px!important}#customTextPopupWrapper #customTextPopup .wordfilter.button{width:100%!important;justify-self:auto}#customTextPopupWrapper #customTextPopup .inputs{display:flex!important;flex-direction:column;justify-content:flex-start}.pageAccount .group.history table thead td:nth-child(7),.pageAccount .group.history table thead td:nth-child(5),.pageAccount .group.history table tbody td:nth-child(7),.pageAccount .group.history table tbody td:nth-child(5){display:none}}@media only screen and (max-width: 550px){.profile .pbsWords,.profile .pbsTime{font-size:.9rem}.profile .pbsWords,.profile .pbsTime{grid-template-columns:1fr 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\";grid-template-columns:1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.both .typingStats{grid-template-columns:1fr}#cookiePopupWrapper #cookiePopup,#cookiePopupWrapper .extensionMessage{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1rem}#contactPopupWrapper #contactPopup .buttons .button .icon{font-size:1.5rem;line-height:1.5rem}#contactPopupWrapper #contactPopup{padding:1rem}.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr}#simplePopupWrapper #simplePopup{width:90vw}#quoteReportPopup{width:calc(100% - 2rem);margin-left:1rem;max-width:800px;padding:1rem}.pageSettings .settingsGroup.quickNav{display:none}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr}.pageSettings .section .buttons{grid-auto-flow:row}.pageSettings .section.customBackgroundFilter .groups .group{grid-template-columns:auto 1fr}.pageSettings .section.customBackgroundFilter .groups .group .title{grid-column:1/3}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons,.pageAccount .triplegroup{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(3),.pageAccount .group.history table tbody td:nth-child(3){display:none}#top{align-items:self-end}#top .logo .icon{width:1.5rem!important}#top .logo .text{font-size:1.5rem!important;margin-bottom:.3rem!important}#top .logo .bottom{font-size:1.75rem;line-height:1.75rem;margin-top:0}#top .logo .top{display:none}#top #menu .textButton{padding:0}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:auto auto auto;grid-auto-flow:row}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr 1fr;gap:.25rem 1rem}#centerContent{padding:1rem}#centerContent #top{grid-template-columns:1fr auto}#centerContent #top .desktopConfig{display:none}#centerContent #top .mobileConfig{display:block}#middle #result .stats{grid-template-areas:\"wpm\" \"acc\";gap:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/3;width:100%;text-align:center}#commandLine,#commandLineInput{width:400px!important}#leaderboardsWrapper #leaderboards{width:85vw}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(4){display:none}}@media only screen and (max-width: 400px){#top .config{grid-gap:.25rem}#top .config .group .buttons{font-size:.65rem;line-height:.65rem}#bottom{font-size:.65rem}#bottom .leftright{grid-template-columns:1fr 1fr}#bottom .leftright .left{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;grid-auto-flow:row}#bottom .leftright .right{grid-template-rows:1fr 1fr 1fr 1fr;gap:.25rem 1rem}#commandLine,#commandLineInput{width:300px!important}#leaderboardsWrapper #leaderboards .tables .titleAndTable .titleAndButtons{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 9rem)}}@media only screen and (max-width: 350px){.ad.ad-h-s{display:none}.pageLogin .side input{width:90vw}.page404 .content,.page404 .content .image{width:100%}.page404 .content .big{font-size:7rem;line-height:7rem}}@media (hover: none) and (pointer: coarse){#commandLineMobileButton{display:block!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
4544
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TgoTypingTestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4545
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TgoTypingTestComponent, isStandalone: true, selector: "tgo-typing-test", inputs: { time: "time", punctuation: "punctuation", numbers: "numbers", funbox: "funbox", customTGQuotes: "customTGQuotes", showMiniTimerAndLiveWpm: "showMiniTimerAndLiveWpm", restartTest: "restartTest", testVersion: "testVersion", testExpiration$: "testExpiration$" }, outputs: { resultEvent: "resultEvent", replayExport: "replayExport", errorEvent: "errorEvent" }, host: { listeners: { "document:keydown": "handleKeyboardDown($event)", "document:keyup": "handleKeyboardUp($event)", "document:mousemove": "handleMouseMove($event)" } }, viewQueries: [{ propertyName: "wordsInput", first: true, predicate: ["wordsInput"], descendants: true }, { propertyName: "wordsWrapper", first: true, predicate: ["wordsWrapper"], descendants: true }, { propertyName: "words", first: true, predicate: ["words"], descendants: true }, { propertyName: "middle", first: true, predicate: ["middle"], descendants: true }, { propertyName: "capsWarning", first: true, predicate: ["capsWarning"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"centerContent\">\n <div id=\"middle\" #middle>\n <div class=\"page pageTest active\">\n <div id=\"typingTest\">\n <div id=\"capsWarning\" [ngClass]=\"{ hidden: (showCaps$ | async) === false }\" #capsWarning>\n Caps Lock\n </div>\n <div id=\"memoryTimer\">Time left to memorise all words: 0s</div>\n <div id=\"testModesNotice\"></div>\n <input\n id=\"wordsInput\"\n class=\"\"\n tabindex=\"0\"\n type=\"text\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n data-gramm=\"false\"\n data-gramm_editor=\"false\"\n data-enable-grammarly=\"false\"\n list=\"autocompleteOff\"\n (keyup)=\"wordsInputKeyup($event)\"\n (beforeinput)=\"wordsInputBeforeinput($event)\"\n (input)=\"wordsInputInput($event)\"\n (focus)=\"wordsInputFocus($event)\"\n (focusout)=\"wordsInputFocusOut()\"\n (copy)=\"wordsInputCopy($event)\"\n (paste)=\"wordsInputPaste($event)\"\n (compositionstart)=\"wordsInputCompositionstart()\"\n (compositionend)=\"wordsInputCompositionend()\"\n #wordsInput\n />\n @if (showMiniTimerAndLiveWpm) {\n <div id=\"miniTimerAndLiveWpm\" class=\"timerMain size2\">\n <div class=\"time\" [@fadeIn]=\"(showTimer$ | async) ? 'show' : 'hide'\">\n {{ timeLeft$ | async }}\n </div>\n <div class=\"wpm hidden\">60</div>\n <div class=\"acc hidden\">100%</div>\n <div class=\"burst hidden\">1</div>\n </div>\n }\n \n @if (outOfFocusShow$ | async) {\n <div class=\"outOfFocusWarning\">\n Click or press any key to focus\n </div>\n }\n \n @if (errorEvent | async; as errorMessage) {\n <div class=\"errorWarning\"> \n {{ errorMessage }} Reload the page or <a href=\"https://candidates.testgorilla.com/hc/en-us/requests/new\" target=\"_blank\">contact support</a>.\n </div>\n }\n \n <div id=\"wordsWrapper\" translate=\"no\" #wordsWrapper (click)=\"wordsWrapperClick()\">\n <div id=\"paceCaret\" class=\"default size2 hidden\"></div>\n @if (showCaret$ | async) {\n <div id=\"caret\" [@updatePositionCaret]=\"{\n value: state,\n params: { caretTopPos: caretTop, caretLeftPos: caretLeft }\n }\" \n [ngStyle]=\"{ 'animation-name': (caretAnimation$ | async) }\" class=\"default size2\">\n </div>\n }\n <div id=\"words\" class=\"size2\" #words [ngClass]=\"{ blurred: (outOfFocusShow$ | async) }\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: ["@import\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Itim:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Coming+Soon:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lalezar:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;700&display=swap\";@keyframes loader{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}@keyframes caretFlashSmooth{0%,to{opacity:0}50%{opacity:1}}@keyframes caretFlashHard{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes flashKey{0%{color:#f6f6f6;background-color:#888;border-color:#888}to{color:#888;background-color:#f6f6f6;border-color:#888}}@keyframes shake{0%{transform:translate(2px) rotate(0)}50%{transform:translate(-2px) rotate(0)}to{transform:translate(2px) rotate(0)}}@keyframes flashHighlight{0%{background-color:#f6f6f6}10%{background-color:#888}40%{background-color:#888}to{background-color:#f6f6f6}}@keyframes rgb-bg{0%{background:#4cae4c}20%{background:#409eb5}40%{background:#8134f4}60%{background:#f10e19}80%{background:#ffc505}to{background:#4cae4c}}#caret,#caret.outline,#paceCaret.outline{height:1.5rem;background:#dc322f;animation:caretFlashSmooth 1s infinite;position:absolute;border-radius:.5rem;transform-origin:top left}#paceCaret{height:1.5rem;background:#888;opacity:.5;position:absolute;border-radius:.5rem;transform-origin:top left;width:2px}#caret.off,#paceCaret.off{width:0}#caret.default,#paceCaret.default{width:2px}#caret.block,#caret.outline,#paceCaret.block,#paceCaret.outline{width:.7em;border-radius:0;z-index:-1}#caret.outline,#paceCaret.outline{animation-name:none;background:transparent;border:1px solid #dc322f}#caret.block,#caret.outline,#caret.underline,#paceCaret.block,#paceCaret.outline,#paceCaret.underline{margin-left:.1rem}#caret.block.size15,#caret.outline.size15,#caret.underline.size15,#paceCaret.block.size15,#paceCaret.outline.size15,#paceCaret.underline.size15{margin-left:.15rem}#caret.block.size2,#caret.outline.size2,#caret.underline.size2,#paceCaret.block.size2,#paceCaret.outline.size2,#paceCaret.underline.size2{margin-left:.2rem}#caret.block.size3,#caret.outline.size3,#caret.underline.size3,#paceCaret.block.size3,#paceCaret.outline.size3,#paceCaret.underline.size3{margin-left:.25em}#caret.block.size4,#caret.outline.size4,#caret.underline.size4,#paceCaret.block.size4,#paceCaret.outline.size4,#paceCaret.underline.size4{margin-left:.3rem}#caret.underline,#paceCaret.underline{height:2px;width:.8em;margin-top:1.3em}#caret.underline.size125,#paceCaret.underline.size125{margin-top:1.8em}#caret.underline.size15,#paceCaret.underline.size15{margin-top:2.1em}#caret.underline.size2,#paceCaret.underline.size2{margin-top:2.7em}#caret.underline.size3,#paceCaret.underline.size3{margin-top:3.9em}#caret.underline.size4,#paceCaret.underline.size4{margin-top:5em}#caret.size125,#paceCaret.size125{transform:scale(1.25)}#caret.size15,#paceCaret.size15{transform:scale(1.45)}#caret.size2,#paceCaret.size2{transform:scale(1.9)}#caret.size3,#paceCaret.size3{transform:scale(2.8)}#caret.size4,#paceCaret.size4{transform:scale(3.7)}::ng-deep :host{scroll-padding-top:2rem;font-weight:600}::ng-deep ::placeholder{color:#888;opacity:1}::ng-deep #app{display:grid;grid-template-columns:auto minmax(0,1000px) auto;justify-items:center}::ng-deep #app.wide125{grid-template-columns:auto minmax(0,1250px) auto}::ng-deep #app.wide150{grid-template-columns:auto minmax(0,1500px) auto}::ng-deep #app.wide200{grid-template-columns:auto minmax(0,2000px) auto}::ng-deep #app.widemax{grid-template-columns:auto minmax(0,1fr) auto}::ng-deep #nocss{display:none!important;pointer-events:none}::ng-deep .ffscroll,::ng-deep #contactPopupWrapper #contactPopup,#contactPopupWrapper ::ng-deep #contactPopup,::ng-deep #supportMeWrapper #supportMe,#supportMeWrapper ::ng-deep #supportMe,::ng-deep #versionHistoryWrapper #versionHistory,#versionHistoryWrapper ::ng-deep #versionHistory,::ng-deep html{scrollbar-width:thin;scrollbar-color:#888888 transparent}::ng-deep html{overflow-y:scroll}::ng-deep a{display:inline-block;color:#888;transition:.25s}::ng-deep a:hover{color:#181819}::ng-deep a[data-link] *{pointer-events:none}::ng-deep a.button{text-decoration:none}::ng-deep #centerContent{margin:0;padding:0;min-height:300px;font-family:Roboto Mono,Vazirmatn;color:#181819;overflow-x:hidden;border:1px solid #E0E0E0}::ng-deep .customBackground{content:\"\";width:100vw;height:100vh;position:fixed;left:0;top:0;background-position:center center;background-repeat:no-repeat;z-index:-999;justify-content:center;align-items:center;display:flex}::ng-deep #backgroundLoader{height:3px;position:fixed;width:100%;background:#888;animation:loader 2s cubic-bezier(.38,.16,.57,.82) infinite;z-index:9999}::ng-deep label.checkbox span{display:block;font-size:.76rem;color:#888;margin-left:1.5rem}::ng-deep label.checkbox input{margin:0!important;cursor:pointer;width:0;height:0;display:none;-webkit-user-select:none;user-select:none}::ng-deep label.checkbox input~.customTextCheckbox{width:1.25rem;height:1.25rem;background:#e2d8be;border-radius:.25rem;display:inline-grid;margin:0 .5rem 0 0;-webkit-user-select:none;user-select:none;cursor:pointer}::ng-deep label.checkbox input~.customTextCheckbox .check{opacity:0;color:#888;transition:.125s}::ng-deep label.checkbox input:checked~.customTextCheckbox .check{opacity:1}::ng-deep #centerContent{display:grid;grid-auto-flow:row;padding:10rem 2rem 2rem;gap:2rem;align-items:center;z-index:999;grid-template-rows:auto 1fr auto;width:100%;transition:padding-top .125s}::ng-deep #centerContent.wide125{max-width:1250px}::ng-deep #centerContent.wide150{max-width:1500px}::ng-deep #centerContent.wide200{max-width:2000px}::ng-deep #centerContent.widemax{max-width:unset}::ng-deep #key{color:#f6f6f6;background-color:#888;padding:.3rem;margin:0rem .5rem;border-radius:.1rem;display:inline-block;font-size:.7rem;line-height:.7rem}::ng-deep .pageLoading{display:grid;justify-content:center}::ng-deep .pageLoading .preloader,::ng-deep .pageAccount .preloader{text-align:center;justify-self:center;display:grid}::ng-deep .pageLoading .preloader .barWrapper,::ng-deep .pageAccount .preloader .barWrapper{display:grid;gap:1rem;grid-row:1;grid-column:1}::ng-deep .pageLoading .preloader .barWrapper .bar,::ng-deep .pageAccount .preloader .barWrapper .bar{width:20rem;height:.5rem;background:#e2d8be;border-radius:.5rem}::ng-deep .pageLoading .preloader .barWrapper .bar .fill,::ng-deep .pageAccount .preloader .barWrapper .bar .fill{height:100%;width:0%;background:#888;border-radius:.5rem}::ng-deep .pageLoading .preloader .icon,::ng-deep .pageAccount .preloader .icon{grid-row:1;grid-column:1;font-size:2rem;color:#888;margin-bottom:1rem}::ng-deep .devIndicator{position:fixed;font-size:3rem;color:#888;opacity:.25;z-index:-1}::ng-deep .devIndicator.tl{top:2rem;left:2rem}::ng-deep .devIndicator.tr{top:2rem;right:2rem}::ng-deep .devIndicator.bl{bottom:2rem;left:2rem}::ng-deep .devIndicator.br{bottom:2rem;right:2rem}::ng-deep *{box-sizing:border-box}::ng-deep .hidden{display:none!important}::ng-deep .invisible{opacity:0!important;pointer-events:none!important}::ng-deep .button{color:#181819;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;background:#e2d8be;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem}::ng-deep .button.active{background:#888;color:#f6f6f6}::ng-deep .button.active:hover{background:#181819}::ng-deep .button.active:active{background:#888;color:#f6f6f6}::ng-deep .button.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .button.disabled:hover{background:#181819;outline:none}::ng-deep .button.disabled:active{background:#888;color:#f6f6f6}::ng-deep .button:hover{color:#f6f6f6;background:#181819;outline:none}::ng-deep .button:focus{outline:2px solid #181819}::ng-deep .button:active{background:#888;color:#f6f6f6}::ng-deep .textButton{color:#888;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem;width:max-content;width:-moz-max-content;display:grid;grid-auto-flow:column;gap:.25rem;text-decoration:none}::ng-deep .textButton .fas,::ng-deep .textButton .far{display:grid;place-content:center center}::ng-deep .textButton.active{color:#888}::ng-deep .textButton.active:hover{color:#181819}::ng-deep .textButton.active:active{color:#888}::ng-deep .textButton.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .textButton.disabled:hover{background:#181819;outline:none}::ng-deep .textButton.disabled:active{background:#888;color:#f6f6f6}::ng-deep .textButton:hover{color:#181819}::ng-deep .textButton:focus{color:#181819;outline:none}::ng-deep .textButton:active{color:#888}::ng-deep .scrollToTopButton{bottom:2rem;right:2rem;position:fixed;font-size:2rem;width:4rem;height:4rem;text-align:center;line-height:4rem;background:#e2d8be;border-radius:99rem;z-index:99;cursor:pointer;color:#888;transition:.25s}::ng-deep .scrollToTopButton:hover{background:#181819;color:#f6f6f6}::ng-deep .inputAndIndicator{position:relative}::ng-deep .inputAndIndicator input{width:100%}::ng-deep .inputAndIndicator .statusIndicator{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}::ng-deep .inputAndIndicator .statusIndicator .indicator{grid-column:1/2;grid-row:1/2}::ng-deep .inputAndIndicator .statusIndicator .indicator.level-1{color:#d33682}::ng-deep .inputAndIndicator .statusIndicator .indicator.level0{color:#888}::ng-deep .inputAndIndicator .statusIndicator .indicator.level1{color:#888}::ng-deep .configureAPI.button{position:fixed;left:2rem;bottom:2rem;display:grid;grid-auto-flow:column;gap:.5rem;text-decoration:none;z-index:999999999}::ng-deep .avatar{transition:opacity .125s,filter .125s,webkit-filter .125s;width:1.25rem;height:1.25rem;border-radius:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}::ng-deep .badge{background:#888;color:#181819;border-radius:.25rem;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:max-content auto;align-items:baseline}::ng-deep .badge .fas,::ng-deep .badge .far{margin:.15rem .3rem;font-size:.9em}::ng-deep .badge .text{margin-top:.15rem;margin-bottom:.15rem;margin-right:.3rem}input,textarea{outline:none;border:none;border-radius:.5rem;background:#e2d8be;color:#181819;padding:.5rem;font-size:1rem;font-family:Roboto Mono,Vazirmatn;caret-color:#888}textarea{resize:vertical}input[type=range]{-webkit-appearance:none;padding:0;width:100%;height:1rem;border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-webkit-slider-thumb:hover{cursor:grab}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-moz-range-thumb:hover{cursor:grab}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=color]{height:3px;opacity:0;padding:0;margin:0;position:absolute;pointer-events:none}input:disabled,textarea:disabled{opacity:.33}::-moz-color-swatch{border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:none;outline:2px solid #888888;font-family:inherit;-webkit-text-fill-color:#181819;-webkit-box-shadow:0 0 0 1000000px #e2d8be inset;caret-color:#181819}.select2-dropdown{background-color:#f6f6f6;color:#181819;outline:none}.select2-container--default.select2-container--disabled .select2-selection--single{background:#e2d8be!important;opacity:.33;cursor:default;pointer-events:none}.select2-selection{background:#e2d8be;height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#181819;outline:none}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#181819;color:#f6f6f6}.select2-container--default .select2-results__option--selected{background-color:#888;color:#f6f6f6}.select2-container--open .select2-dropdown--below,.select2-container--open .select2-dropdown--above{border-color:#e2d8be;background:#f6f6f6;color:#888;border-radius:.5rem}.select2-container--default .select2-selection--single{color:#181819;background:#e2d8be;outline:none;border:none;height:auto;border-radius:.5rem}.select2-container--default.select2-container--disabled .select2-selection--single{background:#5051517a}.select2-selection:focus{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-selection:active{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:35px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent transparent transparent}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#e2d8be;background:#f6f6f6;color:#181819;border-radius:.5rem}.select2-container--default .select2-results__group{color:#181819}.select2-container--default .select2-selection--multiple{background:#e2d8be;border-radius:.5rem;color:#181819;outline:none;border:none}.select2-selection__choice__display{color:#f6f6f6}.select2-selection__choice__remove{color:#888!important}.select2-container .select2-search--inline .select2-search__field{margin:0;border-radius:0;font-family:Roboto Mono,Vazirmatn;line-height:1rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border:none}.select2-container--default .select2-selection--multiple{border:none;padding:.5rem;font-family:Roboto Mono,Vazirmatn}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#888;border:none;border-radius:.25rem;box-sizing:border-box;display:inline-block;margin-left:0;margin-top:0;margin-right:.5rem;padding:0;padding-left:1.25rem;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:1.5rem;border-right:1px solid #F6F6F6;color:#f6f6f6!important;transition:.125s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#181819}.popupWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:center;padding:2rem 0}#customTextPopupWrapper #customTextPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:60vw}#customTextPopupWrapper #customTextPopup .buttonsTop{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup .savedTexts{display:grid;gap:.5rem}#customTextPopupWrapper #customTextPopup .savedTexts .title{color:#888}#customTextPopupWrapper #customTextPopup .savedTexts .buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup textarea{background:#e2d8be;padding:1rem;color:#888;border:none;outline:none;font-size:1rem;font-family:Roboto Mono,Vazirmatn;width:100%;border-radius:.5rem;resize:vertical;height:200px;color:#181819;overflow-x:hidden;overflow-y:scroll}#customTextPopupWrapper #customTextPopup .inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;justify-items:left}#customTextPopupWrapper #customTextPopup .randomInputFields{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;width:100%;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px;max-height:80vh;overflow:auto}#savedTextsPopupWrapper #savedTextsPopup .title{font-size:1.5rem;color:#888}#savedTextsPopupWrapper #savedTextsPopup .list{display:grid;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText{display:grid;gap:.5rem;grid-template-columns:1fr 3rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText .button .fas{pointer-events:none}#wordFilterPopupWrapper #wordFilterPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#wordFilterPopupWrapper #wordFilterPopup input{width:100%}#wordFilterPopupWrapper #wordFilterPopup .group{display:grid;gap:.5rem}#wordFilterPopupWrapper #wordFilterPopup .lengthgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:1rem}#wordFilterPopupWrapper #wordFilterPopup .tip{color:#888;font-size:.8rem}#wordFilterPopupWrapper #wordFilterPopup .loadingIndicator{justify-self:center}#quoteRatePopupWrapper #quoteRatePopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:2rem;width:800px;display:grid;grid-template-areas:\"warning warning warning\" \"spacer2 spacer2 spacer2\" \"ratingStats ratingStats submitButton\" \"spacer spacer spacer\" \"quote quote quote\";grid-template-columns:auto 1fr;color:#181819}#quoteRatePopupWrapper #quoteRatePopup .warning{grid-area:warning}#quoteRatePopupWrapper #quoteRatePopup .warning span{color:#d33682}#quoteRatePopupWrapper #quoteRatePopup .spacer,#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer;width:100%;height:.1rem;border-radius:.5rem;background:#888;opacity:.25}#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer2}#quoteRatePopupWrapper #quoteRatePopup .submitButton{font-size:2rem;grid-area:submitButton;color:#888}#quoteRatePopupWrapper #quoteRatePopup .submitButton:hover{color:#181819}#quoteRatePopupWrapper #quoteRatePopup .top{color:#888;font-size:.8rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;grid-area:ratingStats}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .top{font-size:1rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .val{font-size:2.25rem}#quoteRatePopupWrapper #quoteRatePopup .quote{display:grid;grid-area:quote;gap:1rem;grid-template-areas:\"text text text\" \"id length source\";grid-template-columns:1fr 1fr 3fr}#quoteRatePopupWrapper #quoteRatePopup .quote .text{grid-area:text}#quoteRatePopupWrapper #quoteRatePopup .quote .id{grid-area:id}#quoteRatePopupWrapper #quoteRatePopup .quote .length{grid-area:length}#quoteRatePopupWrapper #quoteRatePopup .quote .source{grid-area:source}#quoteRatePopupWrapper #quoteRatePopup .stars{display:grid;color:#888;font-size:2rem;grid-template-columns:auto auto auto auto auto;justify-content:flex-start;align-items:center;cursor:pointer}#quoteRatePopupWrapper #quoteRatePopup .star{transition:.125s}#quoteRatePopupWrapper #quoteRatePopup i{pointer-events:none}#quoteRatePopupWrapper #quoteRatePopup .star.active{color:#181819}#simplePopupWrapper #simplePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#simplePopupWrapper #simplePopup .title{font-size:1.5rem;color:#888}#simplePopupWrapper #simplePopup .inputs{display:grid;gap:1rem}#simplePopupWrapper #simplePopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup{background:#f6f6f6;border-radius:.5rem;padding:1rem;display:grid;gap:1rem;width:calc(100vw - 2rem);max-width:400px}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .title{font-size:1.5rem;color:#888}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .inputs{display:grid;gap:1rem}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .group{display:grid;gap:.5rem}#customWordAmountPopupWrapper #customWordAmountPopup,#customWordAmountPopupWrapper #customTestDurationPopup,#customWordAmountPopupWrapper #practiseWordsPopup,#customWordAmountPopupWrapper #pbTablesPopup,#customTestDurationPopupWrapper #customWordAmountPopup,#customTestDurationPopupWrapper #customTestDurationPopup,#customTestDurationPopupWrapper #practiseWordsPopup,#customTestDurationPopupWrapper #pbTablesPopup,#practiseWordsPopupWrapper #customWordAmountPopup,#practiseWordsPopupWrapper #customTestDurationPopup,#practiseWordsPopupWrapper #practiseWordsPopup,#practiseWordsPopupWrapper #pbTablesPopup,#pbTablesPopupWrapper #customWordAmountPopup,#pbTablesPopupWrapper #customTestDurationPopup,#pbTablesPopupWrapper #practiseWordsPopup,#pbTablesPopupWrapper #pbTablesPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#customWordAmountPopupWrapper #customWordAmountPopup .title,#customWordAmountPopupWrapper #customTestDurationPopup .title,#customWordAmountPopupWrapper #practiseWordsPopup .title,#customWordAmountPopupWrapper #pbTablesPopup .title,#customTestDurationPopupWrapper #customWordAmountPopup .title,#customTestDurationPopupWrapper #customTestDurationPopup .title,#customTestDurationPopupWrapper #practiseWordsPopup .title,#customTestDurationPopupWrapper #pbTablesPopup .title,#practiseWordsPopupWrapper #customWordAmountPopup .title,#practiseWordsPopupWrapper #customTestDurationPopup .title,#practiseWordsPopupWrapper #practiseWordsPopup .title,#practiseWordsPopupWrapper #pbTablesPopup .title,#pbTablesPopupWrapper #customWordAmountPopup .title,#pbTablesPopupWrapper #customTestDurationPopup .title,#pbTablesPopupWrapper #practiseWordsPopup .title,#pbTablesPopupWrapper #pbTablesPopup .title{font-size:1.5rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .tip,#customWordAmountPopupWrapper #customTestDurationPopup .tip,#customWordAmountPopupWrapper #practiseWordsPopup .tip,#customWordAmountPopupWrapper #pbTablesPopup .tip,#customTestDurationPopupWrapper #customWordAmountPopup .tip,#customTestDurationPopupWrapper #customTestDurationPopup .tip,#customTestDurationPopupWrapper #practiseWordsPopup .tip,#customTestDurationPopupWrapper #pbTablesPopup .tip,#practiseWordsPopupWrapper #customWordAmountPopup .tip,#practiseWordsPopupWrapper #customTestDurationPopup .tip,#practiseWordsPopupWrapper #practiseWordsPopup .tip,#practiseWordsPopupWrapper #pbTablesPopup .tip,#pbTablesPopupWrapper #customWordAmountPopup .tip,#pbTablesPopupWrapper #customTestDurationPopup .tip,#pbTablesPopupWrapper #practiseWordsPopup .tip,#pbTablesPopupWrapper #pbTablesPopup .tip{font-size:.75rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .text,#customWordAmountPopupWrapper #customTestDurationPopup .text,#customWordAmountPopupWrapper #practiseWordsPopup .text,#customWordAmountPopupWrapper #pbTablesPopup .text,#customTestDurationPopupWrapper #customWordAmountPopup .text,#customTestDurationPopupWrapper #customTestDurationPopup .text,#customTestDurationPopupWrapper #practiseWordsPopup .text,#customTestDurationPopupWrapper #pbTablesPopup .text,#practiseWordsPopupWrapper #customWordAmountPopup .text,#practiseWordsPopupWrapper #customTestDurationPopup .text,#practiseWordsPopupWrapper #practiseWordsPopup .text,#practiseWordsPopupWrapper #pbTablesPopup .text,#pbTablesPopupWrapper #customWordAmountPopup .text,#pbTablesPopupWrapper #customTestDurationPopup .text,#pbTablesPopupWrapper #practiseWordsPopup .text,#pbTablesPopupWrapper #pbTablesPopup .text{font-size:1rem;color:#181819}#customWordAmountPopupWrapper #customTestDurationPopup .preview,#customTestDurationPopupWrapper #customTestDurationPopup .preview,#practiseWordsPopupWrapper #customTestDurationPopup .preview,#pbTablesPopupWrapper #customTestDurationPopup .preview{font-size:.75rem;color:#888}#googleSignUpPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#googleSignUpPopup .title{font-size:1.5rem;color:#888}#googleSignUpPopup .inputAndIndicator{position:relative}#googleSignUpPopup .inputAndIndicator input{width:100%}#googleSignUpPopup .inputAndIndicator .checkStatus{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available,#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{grid-column:1/2;grid-row:1/2}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available{color:#888}#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{color:#d33682}#shareTestSettingsPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:500px}#shareTestSettingsPopup .title{font-size:1.5rem;color:#888}#shareTestSettingsPopup .subgroup{padding-left:2rem}#shareTestSettingsPopup .tooLongWarning{font-size:.75rem;color:#d33682}#cookiePopupWrapper .extensionMessage{position:fixed;right:2rem;bottom:2rem;padding:1rem;width:465px;font-size:.75rem}#cookiePopupWrapper #cookiePopup{position:fixed;right:2rem;bottom:2rem;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:465px;z-index:100000001;-webkit-user-select:none;user-select:none}#cookiePopupWrapper #cookiePopup .main{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .title{font-size:1.5rem;color:#888}#cookiePopupWrapper #cookiePopup .buttons{margin-top:.25rem;display:grid;grid-auto-flow:column;gap:1rem;grid-template-columns:1fr 2.25rem}#cookiePopupWrapper #cookiePopup .settings{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .settings .customTextCheckbox{background:#888}#cookiePopupWrapper #cookiePopup .settings .cookie label{display:grid;gap:0 1rem;grid-template-columns:1fr min-content;grid-template-areas:\"title check\" \"description check\"}#cookiePopupWrapper #cookiePopup .settings .cookie label .title{grid-area:title;font-size:1.25rem}#cookiePopupWrapper #cookiePopup .settings .cookie label .description{grid-area:description}#cookiePopupWrapper #cookiePopup .settings .cookie label .customTextCheckbox{place-self:center;grid-area:check}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label{grid-template-columns:1fr;grid-template-areas:\"title\" \"description\"}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label a{margin-top:.25rem}#videoAdPopupWrapper{display:flex;padding:2rem}#videoAdPopupWrapper #videoAdPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:1rem;width:100%;max-width:1000px;aspect-ratio:16/9;display:grid;grid-template-areas:\"middle\"}#videoAdPopupWrapper #videoAdPopup .preloader{grid-area:middle;display:grid;place-items:center center;gap:1rem;font-size:2rem;color:#888;height:max-content;align-self:center}#videoAdPopupWrapper #videoAdPopup .video{grid-area:middle}#pbTablesPopupWrapper #pbTablesPopup{min-width:50rem;max-height:calc(100vh - 10rem);overflow-y:scroll}#pbTablesPopupWrapper #pbTablesPopup .title{color:#181819}#pbTablesPopupWrapper #pbTablesPopup table{border-spacing:0;border-collapse:collapse;color:#181819}#pbTablesPopupWrapper #pbTablesPopup table td{padding:.5rem}#pbTablesPopupWrapper #pbTablesPopup table thead{color:#888;font-size:.75rem}#pbTablesPopupWrapper #pbTablesPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#pbTablesPopupWrapper #pbTablesPopup table td.infoIcons span{margin:0 .1rem}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton{opacity:.25;transition:.25s;cursor:pointer}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton:hover{opacity:1}#pbTablesPopupWrapper #pbTablesPopup table .sub{opacity:.5}#pbTablesPopupWrapper #pbTablesPopup table td{text-align:right}#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(6),#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(7){text-align:center}#pbTablesPopupWrapper #pbTablesPopup table tbody td:nth-child(1){font-size:1.5rem}#customThemeShareWrapper #customThemeShare{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSearchPopupWrapper .highlight{color:#888}#quoteSearchPopupWrapper #quoteSearchPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:80vw;max-width:1000px;height:80vh;grid-template-rows:auto auto auto 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop{display:flex;justify-content:space-between}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .title{font-size:1.5rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons{width:33%;display:grid;gap:.5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons .button{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{display:grid;grid-template-columns:1.5fr 1fr max-content;gap:1rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #searchBox{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #toggleShowFavorites{height:100%;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem}#quoteSearchPopupWrapper #quoteSearchPopup #extraResults{text-align:center;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults{display:grid;gap:.5rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult{display:grid;grid-template-columns:1fr 1fr 3fr 0fr 0fr;grid-template-areas:\"text text text text text\" \"id len source report favorite\";grid-auto-rows:auto;width:100%;gap:.5rem;transition:.25s;padding:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;height:min-content}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .text{grid-area:text;overflow:visible;color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .id{grid-area:id;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .length{grid-area:len;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .source{grid-area:source;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .resultChevron{grid-area:chevron;display:flex;align-items:center;justify-items:center;color:#888;font-size:2rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report{grid-area:report;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite{grid-area:favorite;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .sub{opacity:.5}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult:hover{background:#e2d8be;border-radius:5px}#settingsImportWrapper #settingsImport{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSubmitPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:100%;max-height:40rem;overflow-y:scroll}#quoteSubmitPopup label{color:#888;margin-bottom:-1rem}#quoteSubmitPopup .title{font-size:1.5rem;color:#888}#quoteSubmitPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteSubmitPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteSubmitPopup .characterCount.red{color:#d33682}#apeKeysPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;width:1000px;max-width:calc(100vw - 4rem);min-height:18rem;overflow-y:scroll;grid-template-rows:max-content auto;align-items:baseline;gap:1rem}#apeKeysPopup .top{display:grid;grid-template-columns:1fr auto}#apeKeysPopup .top .title{font-size:1.5rem;color:#888}#apeKeysPopup .top .button{padding:.4rem 2rem}#apeKeysPopup .textButton{justify-content:center}#apeKeysPopup .keyButtons{display:grid;grid-auto-flow:column;gap:1rem}#apeKeysPopup .keyButtons .button{width:3rem}#apeKeysPopup table{width:100%;border-spacing:0;border-collapse:collapse}#apeKeysPopup table tr td:first-child{text-align:center}#apeKeysPopup table tr.me td{color:#888}#apeKeysPopup table td{padding:.5rem}#apeKeysPopup table thead{color:#888;font-size:.75rem}#apeKeysPopup table thead td{padding:.5rem;background:#f6f6f6;position:-webkit-sticky;position:sticky;top:0;z-index:99}#apeKeysPopup table tbody{color:#181819}#apeKeysPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#apeKeysPopup table tfoot td{padding:1rem .5rem;position:-webkit-sticky;position:sticky;bottom:-5px;background:#f6f6f6;color:#888;z-index:4}#apeKeysPopup table tr td:first-child{padding-left:1rem}#apeKeysPopup table tr td:last-child{padding-right:1rem}#quoteApprovePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;height:80vh;grid-template-rows:auto 1fr}#quoteApprovePopup .top{display:flex;justify-content:space-between}#quoteApprovePopup .top .title{font-size:1.5rem;color:#888}#quoteApprovePopup .top .button{width:33%}#quoteApprovePopup .quotes{display:grid;gap:1rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteApprovePopup .quotes .quote{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto 2rem;width:100%;gap:1rem;transition:.25s;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:min-content;margin-bottom:1rem}#quoteApprovePopup .quotes .quote .text{grid-column:1/2;grid-row:1/2;overflow:visible;color:#181819;resize:vertical;min-height:4rem}#quoteApprovePopup .quotes .quote .source{grid-column:1/2;grid-row:2/3;color:#181819}#quoteApprovePopup .quotes .quote .buttons{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;grid-column:2/3;grid-row:1/4;color:#888}#quoteApprovePopup .quotes .quote .bottom{display:flex;justify-content:space-around;color:#888}#quoteApprovePopup .quotes .quote .bottom .length.red{color:#d33682}#quoteApprovePopup .quotes .quote .sub{opacity:.5}#quoteApprovePopup .quotes .searchResult:hover{background:#e2d8be;border-radius:5px}#quoteReportPopupWrapper #quoteReportPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:auto;max-height:40rem;overflow-y:scroll;width:calc(100% - 4rem);margin-left:2rem;max-width:800px}#quoteReportPopupWrapper #quoteReportPopup label{color:#888;margin-bottom:-1rem}#quoteReportPopupWrapper #quoteReportPopup .quote{font-size:1.5rem}#quoteReportPopupWrapper #quoteReportPopup .title{font-size:1.5rem;color:#888}#quoteReportPopupWrapper #quoteReportPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteReportPopupWrapper #quoteReportPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteReportPopupWrapper #quoteReportPopup .characterCount.red{color:#d33682}#resultEditTagsPanelWrapper #resultEditTagsPanel{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll;width:500px}#resultEditTagsPanelWrapper #resultEditTagsPanel .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}#versionHistoryWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:start;padding:5rem 0}#versionHistoryWrapper #versionHistory{width:75vw;height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#versionHistoryWrapper #versionHistory .tip{text-align:center;color:#888}#versionHistoryWrapper #versionHistory .releases{display:grid;gap:4rem}#versionHistoryWrapper #versionHistory .releases .release{display:grid;grid-template-areas:\"title date\" \"body body\"}#versionHistoryWrapper #versionHistory .releases .release .title{grid-area:title;font-size:2rem;color:#888}#versionHistoryWrapper #versionHistory .releases .release .date{grid-area:date;text-align:right;color:#888;align-self:center}#versionHistoryWrapper #versionHistory .releases .release .body{grid-area:body;color:#181819}#versionHistoryWrapper #versionHistory .releases .release:last-child{margin-bottom:2rem}#supportMeWrapper #supportMe{width:900px;overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem}#supportMeWrapper #supportMe .title{font-size:1.5rem;color:#888}#supportMeWrapper #supportMe .text{color:#181819}#supportMeWrapper #supportMe .subtext{color:#888;font-size:.75rem}#supportMeWrapper #supportMe .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#supportMeWrapper #supportMe .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;gap:1rem;text-decoration:none}#supportMeWrapper #supportMe .buttons .button .text{transition:.25s}#supportMeWrapper #supportMe .buttons .button:hover .text{color:#f6f6f6}#supportMeWrapper #supportMe .buttons .button .icon{font-size:3rem;line-height:3rem}#contactPopupWrapper #contactPopup{overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem;margin:0 2rem;max-width:900px}#contactPopupWrapper #contactPopup .title{font-size:1.5rem;line-height:2rem;color:#888}#contactPopupWrapper #contactPopup .text{color:#181819}#contactPopupWrapper #contactPopup .text span{color:#d33682}#contactPopupWrapper #contactPopup .subtext{color:#888;font-size:.75rem;grid-area:subtext}#contactPopupWrapper #contactPopup .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr}#contactPopupWrapper #contactPopup .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;text-decoration:none;grid-template-areas:\"icon textgroup\";grid-template-columns:auto 1fr;text-align:left;align-items:center}#contactPopupWrapper #contactPopup .buttons .button .textGroup{grid-area:textgroup}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1.5rem;line-height:2rem;transition:.25s}#contactPopupWrapper #contactPopup .buttons .button:hover .text{color:#f6f6f6}#contactPopupWrapper #contactPopup .buttons .button .icon{grid-area:icon;font-size:2rem;line-height:2rem;padding:0 1rem}#presetWrapper #presetEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#presetWrapper #presetEdit .title{font-size:1.5rem;color:#888}#tagsWrapper #tagsEdit,#tagsWrapper #newResultFilterPresetPopup,#tagsWrapper #editProfilePopup,#newResultFilterPresetPopupWrapper #tagsEdit,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup,#newResultFilterPresetPopupWrapper #editProfilePopup,#editProfilePopupWrapper #tagsEdit,#editProfilePopupWrapper #newResultFilterPresetPopup,#editProfilePopupWrapper #editProfilePopup{max-height:90vh;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#tagsWrapper #tagsEdit .title,#tagsWrapper #newResultFilterPresetPopup .title,#tagsWrapper #editProfilePopup .title,#newResultFilterPresetPopupWrapper #tagsEdit .title,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup .title,#newResultFilterPresetPopupWrapper #editProfilePopup .title,#editProfilePopupWrapper #tagsEdit .title,#editProfilePopupWrapper #newResultFilterPresetPopup .title,#editProfilePopupWrapper #editProfilePopup .title{font-size:1.5rem;color:#888}#editProfilePopup{width:100%;max-width:600px}#editProfilePopup label{color:#888}#editProfilePopup input{width:100%}#editProfilePopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem;max-height:10rem}#editProfilePopup .socialURL{display:flex}#editProfilePopup .socialURL>p{margin-block:.5rem;margin-inline-end:.5rem}#editProfilePopup .badgeSelectionContainer{display:flex;flex-wrap:wrap}#editProfilePopup .badgeSelectionItem{width:max-content;opacity:25%;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem}#editProfilePopup .badgeSelectionItem.selected,#editProfilePopup .badgeSelectionItem:hover{opacity:100%}#customThemesWrapper #customThemesEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}::ng-deep #timerWrapper{opacity:0;transition:.25s;z-index:-1;position:relative;z-index:99}::ng-deep #timerWrapper #timer{position:fixed;top:0;left:0;width:100vw;height:.5rem;background:#000;z-index:-1}::ng-deep #timerWrapper #timer.timerMain{background:#888}::ng-deep #timerWrapper #timer.timerSub{background:#888}::ng-deep #timerWrapper #timer.timerText{background:#181819}::ng-deep .pageTest{position:relative}::ng-deep .pageTest .ssWatermark{font-size:1.25rem;color:#888;line-height:1rem;text-align:right}::ng-deep .pageTest #timerNumber{pointer-events:none;transition:.25s;color:#000;line-height:0;z-index:-1;text-align:center;left:0;width:100%;position:relative;font-size:10rem;opacity:0;width:0;height:0;margin:0 auto;display:grid;justify-content:center;bottom:6rem;transition:none}::ng-deep .pageTest #largeLiveWpmAndAcc{font-size:10rem;color:#000;width:100%;left:0;text-align:center;z-index:-1;height:0;line-height:0;top:5rem;position:relative;display:grid;grid-auto-flow:column;justify-content:center;gap:5rem;width:0;margin:0 auto}::ng-deep .pageTest #largeLiveWpmAndAcc #liveWpm{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveAcc{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveBurst{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc.timerMain,::ng-deep .pageTest #timerNumber.timerMain{color:#888}::ng-deep .pageTest #timer.timerMain{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerSub,::ng-deep .pageTest #timerNumber.timerSub{color:#888}::ng-deep .pageTest #timer.timerSub{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerText,::ng-deep .pageTest #timerNumber.timerText{color:#181819}::ng-deep .pageTest #timer.timerText{background:#181819}::ng-deep #words,::ng-deep .words{height:fit-content;height:-moz-fit-content;display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none;padding-bottom:1em}::ng-deep #words .newline,::ng-deep .words .newline{width:inherit}::ng-deep #words letter,::ng-deep .words letter{border-bottom-style:solid;border-bottom-width:.05em;border-bottom-color:transparent}::ng-deep #words letter.dead,::ng-deep .words letter.dead{border-bottom-width:.05em;border-bottom-color:#888}::ng-deep #words letter.tabChar,::ng-deep #words letter.nlChar,::ng-deep .words letter.tabChar,::ng-deep .words letter.nlChar{margin:0 .25rem;opacity:.2}::ng-deep #words.rightToLeftTest,::ng-deep .words.rightToLeftTest{direction:rtl}::ng-deep #words.rightToLeftTest .word,::ng-deep .words.rightToLeftTest .word{direction:rtl}::ng-deep #words.withLigatures letter,::ng-deep .words.withLigatures letter{display:inline}::ng-deep #words.blurred,::ng-deep .words.blurred{opacity:.25;filter:blur(4px);-webkit-filter:blur(4px)}::ng-deep #words.flipped .word,::ng-deep .words.flipped .word{color:#181819}::ng-deep #words.flipped .word letter.dead,::ng-deep .words.flipped .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped .word letter.correct,::ng-deep .words.flipped .word letter.correct{color:#888}::ng-deep #words.flipped .word letter.corrected,::ng-deep .words.flipped .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped .word letter.extraCorrected,::ng-deep .words.flipped .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.colorfulMode .word letter.dead,::ng-deep .words.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.colorfulMode .word letter.correct,::ng-deep .words.colorfulMode .word letter.correct{color:#888}::ng-deep #words.colorfulMode .word letter.corrected,::ng-deep .words.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.extraCorrected,::ng-deep .words.colorfulMode .word letter.extraCorrected{border-right:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.incorrect,::ng-deep .words.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.colorfulMode .word letter.incorrect.extra,::ng-deep .words.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.flipped.colorfulMode .word,::ng-deep .words.flipped.colorfulMode .word{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.dead,::ng-deep .words.flipped.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped.colorfulMode .word letter.correct,::ng-deep .words.flipped.colorfulMode .word letter.correct{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.corrected,::ng-deep .words.flipped.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.extraCorrected,::ng-deep .words.flipped.colorfulMode .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.incorrect,::ng-deep .words.flipped.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.flipped.colorfulMode .word letter.incorrect.extra,::ng-deep .words.flipped.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.tape.size125 .word,::ng-deep .words.tape.size125 .word{margin:.31rem .62rem .31rem 0}::ng-deep #words.tape.size15 .word,::ng-deep .words.tape.size15 .word{margin:.37rem .74rem .37rem 0}::ng-deep #words.tape.size2 .word,::ng-deep .words.tape.size2 .word{margin:.5rem 1rem .5rem 0}::ng-deep #words.tape.size3 .word,::ng-deep .words.tape.size3 .word{margin:.75rem 1.5rem .75rem 0}::ng-deep #words.tape.size4 .word,::ng-deep .words.tape.size4 .word{margin:1rem 2rem 1rem 0}::ng-deep #words.tape.indicateTyposBelow.size125 .word,::ng-deep .words.tape.indicateTyposBelow.size125 .word{margin:.31rem .62rem .93rem 0}::ng-deep #words.tape.indicateTyposBelow.size15 .word,::ng-deep .words.tape.indicateTyposBelow.size15 .word{margin:.37rem .74rem 1.11rem 0}::ng-deep #words.tape.indicateTyposBelow.size2 .word,::ng-deep .words.tape.indicateTyposBelow.size2 .word{margin:.5rem 1rem 1.5rem 0}::ng-deep #words.tape.indicateTyposBelow.size3 .word,::ng-deep .words.tape.indicateTyposBelow.size3 .word{margin:.75rem 1.5rem 2.25rem 0}::ng-deep #words.tape.indicateTyposBelow.size4 .word,::ng-deep .words.tape.indicateTyposBelow.size4 .word{margin:1rem 2rem 3rem 0}::ng-deep .word{margin:.25rem;color:#888;font-variant:no-common-ligatures;border-bottom:2px solid transparent;line-height:1rem}::ng-deep .word letter{display:inline-block}::ng-deep .word.lastbeforenewline:after{font-family:\"Font Awesome 5 Free\";font-weight:600;content:\"\\f107\";margin-left:.5rem;opacity:.25}::ng-deep .word .wordInputAfter{opacity:1;position:absolute;background:#888;color:#f6f6f6;padding:.5rem;margin-left:-.5rem;border-radius:.5rem;transition:.25s;text-shadow:none;top:-.5rem;z-index:10;cursor:text}::ng-deep .word .wordInputAfter .speed{font-size:.75rem}::ng-deep #words.size125 .word{line-height:1.25rem;font-size:max(1.25rem,24px);margin:.31rem}::ng-deep #words.size15 .word{line-height:1.5rem;font-size:max(1.5rem,24px);margin:.37rem}::ng-deep #words.size2 .word{line-height:2rem;font-size:max(2rem,24px);margin:.5rem}::ng-deep #words.size3 .word{line-height:3rem;font-size:max(3rem,24px);margin:.75rem}::ng-deep #words.size4 .word{line-height:4rem;font-size:max(4rem,24px);margin:1rem}::ng-deep #words.nospace .word{margin:.5rem 0}::ng-deep #words.arrows .word{margin:.5rem 0}::ng-deep #words.arrows .word letter{margin:0 .25rem}::ng-deep .word.error{border-bottom:2px solid #d33682;text-shadow:1px 0px 0px #F6F6F6,-1px 0px 0px #F6F6F6,0px 1px 0px #F6F6F6,1px 1px 0px #F6F6F6,-1px 1px 0px #F6F6F6}::ng-deep #words.noErrorBorder .word.error,::ng-deep #resultWordsHistory.noErrorBorder .word.error{text-shadow:none}::ng-deep .word letter.correct{color:#181819}::ng-deep .word letter.corrected{color:#181819;border-bottom:2px dotted #888888}::ng-deep .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep .word letter.incorrect{color:#d33682;position:relative}::ng-deep .word letter.incorrect hint{position:absolute;bottom:-1em;color:#181819;line-height:initial;font-size:.75em;text-shadow:none;padding:1px;left:0;opacity:.5;text-align:center;width:100%;display:grid;justify-content:center}::ng-deep .word letter.incorrect.extra{color:#9b225c}::ng-deep .word letter.missing{opacity:.5}::ng-deep #words.flipped.colorfulMode .word.error,::ng-deep #words.colorfulMode .word.error{border-bottom:2px solid #d33682}::ng-deep #wordsInput{opacity:0;padding:0;margin:0;border:none;outline:none;display:block;resize:none;position:fixed;z-index:-1;cursor:default;pointer-events:none}::ng-deep #capsWarning{background:#888;color:#f6f6f6;display:table;position:absolute;left:50%;transform:translate(-50%) translateY(-50%);padding:1rem;border-radius:.5rem;transition:.125s;z-index:999;pointer-events:none;top:-2.5rem}::ng-deep #capsWarning i{margin-right:.5rem}::ng-deep #result{display:grid;gap:1rem;align-items:center;grid-template-columns:auto 1fr;grid-template-areas:\"stats chart\" \"morestats morestats\"}::ng-deep #result:focus{outline:none}::ng-deep #result .buttons{display:grid;grid-auto-flow:column;gap:1rem;justify-content:center;grid-column:1/3}::ng-deep #result .ssWatermark{grid-column:1/3}::ng-deep #result #resultWordsHistory,::ng-deep #result #resultReplay{color:#888;margin-bottom:1rem}::ng-deep #result #resultWordsHistory .textButton,::ng-deep #result #resultReplay .textButton{padding:0;margin-left:.5rem}::ng-deep #result #resultWordsHistory .heatmapLegend,::ng-deep #result #resultReplay .heatmapLegend{margin-left:.5rem;display:inline-grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.75rem;color:#888;width:min-content}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes,::ng-deep #result #resultReplay .heatmapLegend .boxes{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box,::ng-deep #result #resultReplay .heatmapLegend .boxes .box{height:1rem;color:#f6f6f6;padding:.1rem .5rem;white-space:nowrap;line-height:.75rem;display:grid;place-content:center center}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(1),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(1){background:#d33682;border-radius:.5rem 0 0 .5rem}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(2),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(2){background:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(3),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(3){background:#888}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(4),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(4){background:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(5),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(5){background:#888;border-radius:0 .5rem .5rem 0}::ng-deep #result #resultWordsHistory .title,::ng-deep #result #resultReplay .title{-webkit-user-select:none;user-select:none;margin-bottom:.25rem}::ng-deep #result #resultWordsHistory .words,::ng-deep #result #resultReplay .words{display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none}::ng-deep #result #resultWordsHistory .words .word,::ng-deep #result #resultReplay .words .word{position:relative;margin:.18rem .6rem .15rem 0}::ng-deep #result #resultWordsHistory .words .word letter.correct,::ng-deep #result #resultReplay .words .word letter.correct{color:#181819}::ng-deep #result #resultWordsHistory .words .word letter.incorrect,::ng-deep #result #resultReplay .words .word letter.incorrect{color:#d33682}::ng-deep #result #resultWordsHistory .words .word letter.incorrect.extra,::ng-deep #result #resultReplay .words .word letter.incorrect.extra{color:#9b225c}::ng-deep #result #resultWordsHistory .words .word.heatmap0 letter,::ng-deep #result #resultReplay .words .word.heatmap0 letter{color:#d33682}::ng-deep #result #resultWordsHistory .words .word.heatmap1 letter,::ng-deep #result #resultReplay .words .word.heatmap1 letter{color:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap2 letter,::ng-deep #result #resultReplay .words .word.heatmap2 letter{color:#888}::ng-deep #result #resultWordsHistory .words .word.heatmap3 letter,::ng-deep #result #resultReplay .words .word.heatmap3 letter{color:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap4 letter,::ng-deep #result #resultReplay .words .word.heatmap4 letter{color:#888}::ng-deep #result #resultWordsHistory .words.rightToLeftTest,::ng-deep #result #resultReplay .words.rightToLeftTest{direction:rtl}::ng-deep #result #resultWordsHistory .words.rightToLeftTest .word,::ng-deep #result #resultReplay .words.rightToLeftTest .word{direction:rtl}::ng-deep #result #resultWordsHistory .words.withLigatures letter,::ng-deep #result #resultReplay .words.withLigatures letter{display:inline}::ng-deep #result .chart{grid-area:chart;width:100%;max-height:200px;height:200px}::ng-deep #result .chart canvas{width:100%!important;height:100%}::ng-deep #result .chart .title{color:#888;margin-bottom:1rem}::ng-deep #result .loginTip{grid-column:1/3;text-align:center;color:#888}::ng-deep #result .loginTip .link{text-decoration:underline;display:inline-block;cursor:pointer}::ng-deep #result .stats{grid-area:stats;display:grid;gap:.5rem;justify-content:center;align-items:center;grid-template-areas:\"wpm\" \"acc\"}::ng-deep #result .stats.morestats{display:grid;grid-auto-flow:column;grid-template-areas:none;align-items:flex-start;justify-content:space-between;column-gap:2rem;grid-area:morestats}::ng-deep #result .stats.morestats .subgroup{display:grid;gap:.5rem}::ng-deep #result .stats .group .top{color:#888;font-size:1rem;line-height:1rem;margin-bottom:.25rem}::ng-deep #result .stats .group .bottom{color:#888;font-size:2rem;line-height:2rem}::ng-deep #result .stats .group.time .afk,::ng-deep #result .stats .group.time .timeToday{color:#888;font-size:.75rem;line-height:.75rem;margin-left:.2rem}::ng-deep #result .stats .group.source #rateQuoteButton,::ng-deep #result .stats .group.source #reportQuoteButton,::ng-deep #result .stats .group.source #favoriteQuoteButton{padding:0 .25rem}::ng-deep #result .stats .group.source #rateQuoteButton{display:inline-grid;gap:.25rem}::ng-deep #result .stats .info .top,::ng-deep #result .stats .tags .top,::ng-deep #result .stats .source .top{font-size:1rem;line-height:1rem}::ng-deep #result .stats .info .bottom,::ng-deep #result .stats .tags .bottom,::ng-deep #result .stats .source .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .source{max-width:30rem}::ng-deep #result .stats .tags .bottom .fas{margin-left:.5rem}::ng-deep #result .stats .wpm{grid-area:wpm}::ng-deep #result .stats .wpm .top{font-size:2rem;line-height:1.5rem;display:flex}::ng-deep #result .stats .wpm .top .crown{margin-left:.5rem;margin-top:-.2rem;font-size:.7rem;line-height:1.7rem;background:#888;color:#f6f6f6;border-radius:.6rem;text-align:center;align-self:center;width:1.7rem;height:1.7rem}::ng-deep #result .stats .wpm .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .testType .bottom,::ng-deep #result .stats .leaderboards .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .testType .bottom .lbChange .fas,::ng-deep #result .stats .leaderboards .bottom .lbChange .fas{margin-right:.15rem}::ng-deep #result .stats .acc{grid-area:acc}::ng-deep #result .stats .acc .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .acc .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .burst{grid-area:burst}::ng-deep #result .stats .burst .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .burst .bottom{font-size:4rem;line-height:4rem}::ng-deep #restartTestButton,::ng-deep #showWordHistoryButton,::ng-deep #saveScreenshotButton,::ng-deep #restartTestButtonWithSameWordset,::ng-deep #nextTestButton,::ng-deep #practiseWordsButton,::ng-deep #watchReplayButton,::ng-deep #watchVideoAdButton{position:relative;border-radius:.5rem;padding:1rem 2rem;width:min-content;width:-moz-min-content;color:#888;transition:.125s;cursor:pointer}::ng-deep #restartTestButton:hover,::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:hover,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:hover,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:hover,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:hover,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:hover,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:hover,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:hover,::ng-deep #watchVideoAdButton:focus{color:#181819;outline:none}::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:focus{background:#181819;color:#f6f6f6}::ng-deep #retrySavingResultButton{position:relative;border-radius:.5rem;padding:1rem 2rem;color:#d33682;transition:.25s;cursor:pointer;width:max-content;width:-moz-max-content;background:#d33682;color:#f6f6f6;justify-self:center;justify-content:center;margin:0 auto 1rem;-webkit-user-select:none;user-select:none}::ng-deep #retrySavingResultButton:hover,::ng-deep #retrySavingResultButton:focus{background:#181819;outline:none}::ng-deep #retrySavingResultButton:focus{background:#181819}::ng-deep #showWordHistoryButton{opacity:1}::ng-deep #replayWords{cursor:pointer}::ng-deep #replayStopwatch{color:#888;display:inline-block;margin:0 0 0 .5em}::ng-deep #restartTestButton{margin:0 auto;margin-top:1rem}::ng-deep .pageTest #wordsWrapper{position:relative}::ng-deep .pageTest #wordsWrapper.tape{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 1%,rgb(0,0,0) 10%,rgb(0,0,0) 90%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(90deg,#0000 1%,#000 10% 90%,#0000 99%)}::ng-deep .pageTest #memoryTimer{background:#888;color:#f6f6f6;padding:1rem;border-radius:.5rem;text-align:center;width:max-content;left:50%;position:absolute;transform:translate(-50%);top:-6rem;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0}::ng-deep .pageTest .outOfFocusWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .pageTest .errorWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:auto;user-select:auto}::ng-deep .pageTest #testModesNotice{display:flex;flex-wrap:wrap;color:#888;text-align:center;margin-bottom:.5rem;transition:.125s;justify-content:center;-webkit-user-select:none;user-select:none}::ng-deep .pageTest #testModesNotice .textButton{margin:0 .5rem}::ng-deep .pageTest #testModesNotice .fas{margin-right:.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm{height:0;margin-left:.37rem;display:flex;font-size:1rem;line-height:1.13rem;margin-top:-1.5rem;position:absolute;color:#000;font-weight:700}::ng-deep .pageTest #miniTimerAndLiveWpm .time{margin-right:2rem;margin-top:-2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc{margin-right:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .time,::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc,::ng-deep .pageTest #miniTimerAndLiveWpm .burst{opacity:0}::ng-deep .pageTest #miniTimerAndLiveWpm.timerMain{color:#00000080}::ng-deep .pageTest #miniTimerAndLiveWpm.timerSub{color:#888}::ng-deep .pageTest #miniTimerAndLiveWpm.timerText{color:#181819}::ng-deep .pageTest #miniTimerAndLiveWpm.size125{margin-top:-1.75rem;font-size:1.38rem;line-height:1.25rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size15{margin-top:-2rem;font-size:1.63rem;line-height:1.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size2{margin-top:-2.5rem;font-size:2.13rem;line-height:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size3{margin-top:-3.5rem;font-size:3.13rem;line-height:3rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size4{margin-top:-4.5rem;font-size:4.13rem;line-height:4rem}::ng-deep #middle.focus .pageTest #testModesNotice{opacity:0!important}@media only screen and (max-width: 1330px){.ad.ad-v{display:none}#app{grid-template-columns:auto}}@media only screen and (max-width: 1250px){#leaderboardsWrapper #leaderboards .mainTitle{font-size:2rem}#leaderboardsWrapper #leaderboards .title{font-size:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop{grid-template-columns:auto 1fr max-content}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row;gap:.5rem}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:none}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem .5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr 1fr max-content}}@media only screen and (max-width: 1050px){.profile .pbsWords,.profile .pbsTime{font-size:.8rem}.profile .details.bioAndKey .bioAndKeyboard .value{font-size:.75rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr}#result .morestats{gap:1rem;grid-template-rows:1fr 1fr}#supportMe{width:90vw!important}#supportMe .buttons .button .icon{font-size:3rem!important;line-height:3rem!important}#customTextPopup{width:80vw!important}#customTextPopup .wordfilter.button{width:50%!important}}@media only screen and (max-width: 1000px){#quoteRatePopup{width:90vw!important}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr;grid-auto-flow:row;grid-template-columns:auto auto auto auto}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr;gap:.25rem 1rem}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(5){display:none}}@media only screen and (max-width: 900px){.ad.ad-h{display:none}.ad.ad-h-s{display:grid}.profile .pbsWords,.profile .pbsTime{font-size:1rem}.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.soc{grid-template-columns:1.25fr auto 1fr auto auto}.profile .details.soc .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-columns:1.25fr auto auto auto 1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-columns:1.25fr auto 1.25fr auto;grid-template-areas:\"avAndName sep2 bioAndKey bioAndKey\" \"typingStats typingStats typingStats socials\"}.profile .details.both .sep1,.profile .details.both .sep3{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr;width:100%}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}.profile .details.none{grid-template-columns:1fr auto 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}#leaderboards .mainTitle{font-size:1.5rem!important}#bannerCenter .banner .container{grid-template-columns:1fr auto}#bannerCenter .banner .container .image,#bannerCenter .banner .container .lefticon,#bannerCenter .banner .container .righticon{display:none}#bannerCenter .banner .container .text{margin-left:1.5rem;text-align:left;justify-self:start}.merchBanner img{display:none}.merchBanner .text{padding:.25rem 0}.pageSettings .section.autoSwitchThemeInputs{grid-template-columns:1fr 3fr}.pageAccount .group.personalBestTables .tables{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(1),.pageAccount .group.history table thead td:nth-child(8),.pageAccount .group.history table thead td:nth-child(9),.pageAccount .group.history table tbody td:nth-child(1),.pageAccount .group.history table tbody td:nth-child(8),.pageAccount .group.history table tbody td:nth-child(9){display:none}}@media only screen and (max-width: 800px){.pageSettings .settingsGroup.quickNav .links{grid-auto-flow:unset;grid-template-columns:1fr 1fr 1fr;justify-items:center}#centerContent #top{grid-template-areas:\"logo config\" \"menu config\";grid-template-columns:auto auto}#centerContent #top .logo{margin-bottom:0}#centerContent #menu{gap:.5rem;font-size:.8rem;line-height:.8rem;margin-top:-.5rem}#centerContent #menu .textButton{padding:.25rem}#contactPopupWrapper #contactPopup .buttons{grid-template-columns:1fr}.pageAbout .section .contributors,.pageAbout .section .supporters{grid-template-columns:1fr 1fr 1fr}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons{grid-template-columns:1fr 1fr}.pageSettings .section.customBackgroundFilter .groups{grid-template-columns:1fr}.pageSettings .section.customBackgroundFilter .saveContainer{grid-column:-1/-2}#commandLine,#commandLineInput{width:600px!important}#leaderboardsWrapper #leaderboards .leaderboardsTop{flex-direction:column;align-items:baseline;grid-template-areas:\"title title\" \"subtitle subtitle\" \"yesterday yesterday\" \"buttons buttons\";grid-template-columns:1fr}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttons{margin-top:.5rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:column}#leaderboardsWrapper #leaderboards .leaderboardsTop .showYesterdayButton{margin-left:0}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{width:30%}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}}@media only screen and (max-width: 700px){.pageAccount .presetFilterButtons .buttons{grid-template-columns:1fr}.pageAccount .triplegroup{grid-template-columns:1fr 1fr}.pageAccount .triplegroup .emptygroup{display:none}.pageAccount .group.chart .below{grid-template-columns:1fr;gap:.5rem}.pageAccount .group.topFilters .buttonsAndTitle .buttons{display:grid;justify-content:unset}.pageAccount .group.history table thead td:nth-child(6),.pageAccount .group.history table tbody td:nth-child(6){display:none}.badge:after,.badge:before{display:none}}@media only screen and (max-width: 650px){.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.none{grid-template-areas:\"avAndName\" \"typingStats\";grid-template-columns:1fr}.profile .details.none .separator{display:none}.profile .details.none .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\";grid-template-columns:1fr 1fr}.profile .details.bioAndKey .separator{display:none}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc{grid-template-areas:\"avAndName\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.soc .separator{display:none}.profile .details.soc .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc .socials{justify-content:start}.profile .details.soc .socials .title{display:block}.profile .details.soc .socials .value{grid-auto-flow:column}.profile .details.both{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\" \"socials socials\";grid-template-columns:1fr 1fr}.profile .details.both .separator{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}#quoteRatePopup .ratingStats{grid-template-columns:1fr 1fr!important}#quoteRatePopup .quote{grid-template-areas:\"text text text\" \"source source source\" \"id length length\"!important}.pageSettings .section{grid-template-columns:1fr;grid-template-areas:\"title\" \"text\" \"buttons\"}.pageSettings .section>.text{margin-bottom:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/5;width:100%;text-align:center}#supportMe{width:80vw!important}#supportMe .buttons{grid-template-columns:none!important}#supportMe .buttons .button{grid-template-columns:auto 1fr;align-items:center}#supportMe .buttons .button .icon{font-size:2rem!important;line-height:2rem!important;margin-left:2rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 600px){.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr 1fr}#top .logo .bottom{margin-top:0}.pageLogin{display:grid;gap:5rem;grid-auto-flow:unset}#middle #result{grid-template-areas:\"stats stats\" \"chart chart\" \"morestats morestats\"}#middle #result .stats{grid-template-areas:\"wpm acc\";gap:2rem}#middle #result .stats.morestats{grid-template-rows:1fr 1fr 1fr;gap:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row}#commandLine,#commandLineInput{width:500px!important}#customTextPopupWrapper #customTextPopup .wordfilter.button{width:100%!important;justify-self:auto}#customTextPopupWrapper #customTextPopup .inputs{display:flex!important;flex-direction:column;justify-content:flex-start}.pageAccount .group.history table thead td:nth-child(7),.pageAccount .group.history table thead td:nth-child(5),.pageAccount .group.history table tbody td:nth-child(7),.pageAccount .group.history table tbody td:nth-child(5){display:none}}@media only screen and (max-width: 550px){.profile .pbsWords,.profile .pbsTime{font-size:.9rem}.profile .pbsWords,.profile .pbsTime{grid-template-columns:1fr 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\";grid-template-columns:1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.both .typingStats{grid-template-columns:1fr}#cookiePopupWrapper #cookiePopup,#cookiePopupWrapper .extensionMessage{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1rem}#contactPopupWrapper #contactPopup .buttons .button .icon{font-size:1.5rem;line-height:1.5rem}#contactPopupWrapper #contactPopup{padding:1rem}.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr}#simplePopupWrapper #simplePopup{width:90vw}#quoteReportPopup{width:calc(100% - 2rem);margin-left:1rem;max-width:800px;padding:1rem}.pageSettings .settingsGroup.quickNav{display:none}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr}.pageSettings .section .buttons{grid-auto-flow:row}.pageSettings .section.customBackgroundFilter .groups .group{grid-template-columns:auto 1fr}.pageSettings .section.customBackgroundFilter .groups .group .title{grid-column:1/3}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons,.pageAccount .triplegroup{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(3),.pageAccount .group.history table tbody td:nth-child(3){display:none}#top{align-items:self-end}#top .logo .icon{width:1.5rem!important}#top .logo .text{font-size:1.5rem!important;margin-bottom:.3rem!important}#top .logo .bottom{font-size:1.75rem;line-height:1.75rem;margin-top:0}#top .logo .top{display:none}#top #menu .textButton{padding:0}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:auto auto auto;grid-auto-flow:row}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr 1fr;gap:.25rem 1rem}#centerContent{padding:1rem}#centerContent #top{grid-template-columns:1fr auto}#centerContent #top .desktopConfig{display:none}#centerContent #top .mobileConfig{display:block}#middle #result .stats{grid-template-areas:\"wpm\" \"acc\";gap:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/3;width:100%;text-align:center}#commandLine,#commandLineInput{width:400px!important}#leaderboardsWrapper #leaderboards{width:85vw}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(4){display:none}}@media only screen and (max-width: 400px){#top .config{grid-gap:.25rem}#top .config .group .buttons{font-size:.65rem;line-height:.65rem}#bottom{font-size:.65rem}#bottom .leftright{grid-template-columns:1fr 1fr}#bottom .leftright .left{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;grid-auto-flow:row}#bottom .leftright .right{grid-template-rows:1fr 1fr 1fr 1fr;gap:.25rem 1rem}#commandLine,#commandLineInput{width:300px!important}#leaderboardsWrapper #leaderboards .tables .titleAndTable .titleAndButtons{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 9rem)}}@media only screen and (max-width: 350px){.ad.ad-h-s{display:none}.pageLogin .side input{width:90vw}.page404 .content,.page404 .content .image{width:100%}.page404 .content .big{font-size:7rem;line-height:7rem}}@media (hover: none) and (pointer: coarse){#commandLineMobileButton{display:block!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
4546
4546
  trigger('fadeIn', [
4547
4547
  state$2('show', style({ opacity: 1 })),
4548
4548
  state$2('hide', style({ opacity: 0 })),
4549
- transition$1('show => hide', [
4550
- animate('125ms')
4551
- ]),
4552
- transition$1('hide => show', [
4553
- animate('125ms')
4554
- ])
4549
+ transition$1('show => hide', [animate('125ms')]),
4550
+ transition$1('hide => show', [animate('125ms')]),
4555
4551
  ]),
4556
4552
  trigger('updatePositionCaret', [
4557
4553
  state$2('true', style({
4558
4554
  top: '{{caretTopPos}}px',
4559
- left: '{{caretLeftPos}}px'
4555
+ left: '{{caretLeftPos}}px',
4560
4556
  }), {
4561
- params: { caretTopPos: 0, caretLeftPos: 0 }
4557
+ params: { caretTopPos: 0, caretLeftPos: 0 },
4562
4558
  }),
4563
4559
  state$2('false', style({
4564
4560
  top: '{{caretTopPos}}px',
4565
- left: '{{caretLeftPos}}px'
4561
+ left: '{{caretLeftPos}}px',
4566
4562
  }), {
4567
- params: { caretTopPos: 0, caretLeftPos: 0 }
4563
+ params: { caretTopPos: 0, caretLeftPos: 0 },
4568
4564
  }),
4569
- transition$1('true => false', [
4570
- animate('100ms')
4571
- ]),
4572
- transition$1('false => true', [
4573
- animate('100ms')
4574
- ])
4575
- ])
4565
+ transition$1('true => false', [animate('100ms')]),
4566
+ transition$1('false => true', [animate('100ms')]),
4567
+ ]),
4576
4568
  ] });
4577
4569
  }
4578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TgoTypingTestComponent, decorators: [{
4570
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TgoTypingTestComponent, decorators: [{
4579
4571
  type: Component,
4580
- args: [{ selector: 'tgo-typing-test', standalone: true, imports: [CommonModule], animations: [
4572
+ args: [{ selector: 'tgo-typing-test', imports: [CommonModule], animations: [
4581
4573
  trigger('fadeIn', [
4582
4574
  state$2('show', style({ opacity: 1 })),
4583
4575
  state$2('hide', style({ opacity: 0 })),
4584
- transition$1('show => hide', [
4585
- animate('125ms')
4586
- ]),
4587
- transition$1('hide => show', [
4588
- animate('125ms')
4589
- ])
4576
+ transition$1('show => hide', [animate('125ms')]),
4577
+ transition$1('hide => show', [animate('125ms')]),
4590
4578
  ]),
4591
4579
  trigger('updatePositionCaret', [
4592
4580
  state$2('true', style({
4593
4581
  top: '{{caretTopPos}}px',
4594
- left: '{{caretLeftPos}}px'
4582
+ left: '{{caretLeftPos}}px',
4595
4583
  }), {
4596
- params: { caretTopPos: 0, caretLeftPos: 0 }
4584
+ params: { caretTopPos: 0, caretLeftPos: 0 },
4597
4585
  }),
4598
4586
  state$2('false', style({
4599
4587
  top: '{{caretTopPos}}px',
4600
- left: '{{caretLeftPos}}px'
4588
+ left: '{{caretLeftPos}}px',
4601
4589
  }), {
4602
- params: { caretTopPos: 0, caretLeftPos: 0 }
4590
+ params: { caretTopPos: 0, caretLeftPos: 0 },
4603
4591
  }),
4604
- transition$1('true => false', [
4605
- animate('100ms')
4606
- ]),
4607
- transition$1('false => true', [
4608
- animate('100ms')
4609
- ])
4610
- ])
4592
+ transition$1('true => false', [animate('100ms')]),
4593
+ transition$1('false => true', [animate('100ms')]),
4594
+ ]),
4611
4595
  ], template: "<div id=\"centerContent\">\n <div id=\"middle\" #middle>\n <div class=\"page pageTest active\">\n <div id=\"typingTest\">\n <div id=\"capsWarning\" [ngClass]=\"{ hidden: (showCaps$ | async) === false }\" #capsWarning>\n Caps Lock\n </div>\n <div id=\"memoryTimer\">Time left to memorise all words: 0s</div>\n <div id=\"testModesNotice\"></div>\n <input\n id=\"wordsInput\"\n class=\"\"\n tabindex=\"0\"\n type=\"text\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n data-gramm=\"false\"\n data-gramm_editor=\"false\"\n data-enable-grammarly=\"false\"\n list=\"autocompleteOff\"\n (keyup)=\"wordsInputKeyup($event)\"\n (beforeinput)=\"wordsInputBeforeinput($event)\"\n (input)=\"wordsInputInput($event)\"\n (focus)=\"wordsInputFocus($event)\"\n (focusout)=\"wordsInputFocusOut()\"\n (copy)=\"wordsInputCopy($event)\"\n (paste)=\"wordsInputPaste($event)\"\n (compositionstart)=\"wordsInputCompositionstart()\"\n (compositionend)=\"wordsInputCompositionend()\"\n #wordsInput\n />\n @if (showMiniTimerAndLiveWpm) {\n <div id=\"miniTimerAndLiveWpm\" class=\"timerMain size2\">\n <div class=\"time\" [@fadeIn]=\"(showTimer$ | async) ? 'show' : 'hide'\">\n {{ timeLeft$ | async }}\n </div>\n <div class=\"wpm hidden\">60</div>\n <div class=\"acc hidden\">100%</div>\n <div class=\"burst hidden\">1</div>\n </div>\n }\n \n @if (outOfFocusShow$ | async) {\n <div class=\"outOfFocusWarning\">\n Click or press any key to focus\n </div>\n }\n \n @if (errorEvent | async; as errorMessage) {\n <div class=\"errorWarning\"> \n {{ errorMessage }} Reload the page or <a href=\"https://candidates.testgorilla.com/hc/en-us/requests/new\" target=\"_blank\">contact support</a>.\n </div>\n }\n \n <div id=\"wordsWrapper\" translate=\"no\" #wordsWrapper (click)=\"wordsWrapperClick()\">\n <div id=\"paceCaret\" class=\"default size2 hidden\"></div>\n @if (showCaret$ | async) {\n <div id=\"caret\" [@updatePositionCaret]=\"{\n value: state,\n params: { caretTopPos: caretTop, caretLeftPos: caretLeft }\n }\" \n [ngStyle]=\"{ 'animation-name': (caretAnimation$ | async) }\" class=\"default size2\">\n </div>\n }\n <div id=\"words\" class=\"size2\" #words [ngClass]=\"{ blurred: (outOfFocusShow$ | async) }\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: ["@import\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Itim:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Coming+Soon:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lalezar:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;700&display=swap\";@keyframes loader{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}@keyframes caretFlashSmooth{0%,to{opacity:0}50%{opacity:1}}@keyframes caretFlashHard{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes flashKey{0%{color:#f6f6f6;background-color:#888;border-color:#888}to{color:#888;background-color:#f6f6f6;border-color:#888}}@keyframes shake{0%{transform:translate(2px) rotate(0)}50%{transform:translate(-2px) rotate(0)}to{transform:translate(2px) rotate(0)}}@keyframes flashHighlight{0%{background-color:#f6f6f6}10%{background-color:#888}40%{background-color:#888}to{background-color:#f6f6f6}}@keyframes rgb-bg{0%{background:#4cae4c}20%{background:#409eb5}40%{background:#8134f4}60%{background:#f10e19}80%{background:#ffc505}to{background:#4cae4c}}#caret,#caret.outline,#paceCaret.outline{height:1.5rem;background:#dc322f;animation:caretFlashSmooth 1s infinite;position:absolute;border-radius:.5rem;transform-origin:top left}#paceCaret{height:1.5rem;background:#888;opacity:.5;position:absolute;border-radius:.5rem;transform-origin:top left;width:2px}#caret.off,#paceCaret.off{width:0}#caret.default,#paceCaret.default{width:2px}#caret.block,#caret.outline,#paceCaret.block,#paceCaret.outline{width:.7em;border-radius:0;z-index:-1}#caret.outline,#paceCaret.outline{animation-name:none;background:transparent;border:1px solid #dc322f}#caret.block,#caret.outline,#caret.underline,#paceCaret.block,#paceCaret.outline,#paceCaret.underline{margin-left:.1rem}#caret.block.size15,#caret.outline.size15,#caret.underline.size15,#paceCaret.block.size15,#paceCaret.outline.size15,#paceCaret.underline.size15{margin-left:.15rem}#caret.block.size2,#caret.outline.size2,#caret.underline.size2,#paceCaret.block.size2,#paceCaret.outline.size2,#paceCaret.underline.size2{margin-left:.2rem}#caret.block.size3,#caret.outline.size3,#caret.underline.size3,#paceCaret.block.size3,#paceCaret.outline.size3,#paceCaret.underline.size3{margin-left:.25em}#caret.block.size4,#caret.outline.size4,#caret.underline.size4,#paceCaret.block.size4,#paceCaret.outline.size4,#paceCaret.underline.size4{margin-left:.3rem}#caret.underline,#paceCaret.underline{height:2px;width:.8em;margin-top:1.3em}#caret.underline.size125,#paceCaret.underline.size125{margin-top:1.8em}#caret.underline.size15,#paceCaret.underline.size15{margin-top:2.1em}#caret.underline.size2,#paceCaret.underline.size2{margin-top:2.7em}#caret.underline.size3,#paceCaret.underline.size3{margin-top:3.9em}#caret.underline.size4,#paceCaret.underline.size4{margin-top:5em}#caret.size125,#paceCaret.size125{transform:scale(1.25)}#caret.size15,#paceCaret.size15{transform:scale(1.45)}#caret.size2,#paceCaret.size2{transform:scale(1.9)}#caret.size3,#paceCaret.size3{transform:scale(2.8)}#caret.size4,#paceCaret.size4{transform:scale(3.7)}::ng-deep :host{scroll-padding-top:2rem;font-weight:600}::ng-deep ::placeholder{color:#888;opacity:1}::ng-deep #app{display:grid;grid-template-columns:auto minmax(0,1000px) auto;justify-items:center}::ng-deep #app.wide125{grid-template-columns:auto minmax(0,1250px) auto}::ng-deep #app.wide150{grid-template-columns:auto minmax(0,1500px) auto}::ng-deep #app.wide200{grid-template-columns:auto minmax(0,2000px) auto}::ng-deep #app.widemax{grid-template-columns:auto minmax(0,1fr) auto}::ng-deep #nocss{display:none!important;pointer-events:none}::ng-deep .ffscroll,::ng-deep #contactPopupWrapper #contactPopup,#contactPopupWrapper ::ng-deep #contactPopup,::ng-deep #supportMeWrapper #supportMe,#supportMeWrapper ::ng-deep #supportMe,::ng-deep #versionHistoryWrapper #versionHistory,#versionHistoryWrapper ::ng-deep #versionHistory,::ng-deep html{scrollbar-width:thin;scrollbar-color:#888888 transparent}::ng-deep html{overflow-y:scroll}::ng-deep a{display:inline-block;color:#888;transition:.25s}::ng-deep a:hover{color:#181819}::ng-deep a[data-link] *{pointer-events:none}::ng-deep a.button{text-decoration:none}::ng-deep #centerContent{margin:0;padding:0;min-height:300px;font-family:Roboto Mono,Vazirmatn;color:#181819;overflow-x:hidden;border:1px solid #E0E0E0}::ng-deep .customBackground{content:\"\";width:100vw;height:100vh;position:fixed;left:0;top:0;background-position:center center;background-repeat:no-repeat;z-index:-999;justify-content:center;align-items:center;display:flex}::ng-deep #backgroundLoader{height:3px;position:fixed;width:100%;background:#888;animation:loader 2s cubic-bezier(.38,.16,.57,.82) infinite;z-index:9999}::ng-deep label.checkbox span{display:block;font-size:.76rem;color:#888;margin-left:1.5rem}::ng-deep label.checkbox input{margin:0!important;cursor:pointer;width:0;height:0;display:none;-webkit-user-select:none;user-select:none}::ng-deep label.checkbox input~.customTextCheckbox{width:1.25rem;height:1.25rem;background:#e2d8be;border-radius:.25rem;display:inline-grid;margin:0 .5rem 0 0;-webkit-user-select:none;user-select:none;cursor:pointer}::ng-deep label.checkbox input~.customTextCheckbox .check{opacity:0;color:#888;transition:.125s}::ng-deep label.checkbox input:checked~.customTextCheckbox .check{opacity:1}::ng-deep #centerContent{display:grid;grid-auto-flow:row;padding:10rem 2rem 2rem;gap:2rem;align-items:center;z-index:999;grid-template-rows:auto 1fr auto;width:100%;transition:padding-top .125s}::ng-deep #centerContent.wide125{max-width:1250px}::ng-deep #centerContent.wide150{max-width:1500px}::ng-deep #centerContent.wide200{max-width:2000px}::ng-deep #centerContent.widemax{max-width:unset}::ng-deep #key{color:#f6f6f6;background-color:#888;padding:.3rem;margin:0rem .5rem;border-radius:.1rem;display:inline-block;font-size:.7rem;line-height:.7rem}::ng-deep .pageLoading{display:grid;justify-content:center}::ng-deep .pageLoading .preloader,::ng-deep .pageAccount .preloader{text-align:center;justify-self:center;display:grid}::ng-deep .pageLoading .preloader .barWrapper,::ng-deep .pageAccount .preloader .barWrapper{display:grid;gap:1rem;grid-row:1;grid-column:1}::ng-deep .pageLoading .preloader .barWrapper .bar,::ng-deep .pageAccount .preloader .barWrapper .bar{width:20rem;height:.5rem;background:#e2d8be;border-radius:.5rem}::ng-deep .pageLoading .preloader .barWrapper .bar .fill,::ng-deep .pageAccount .preloader .barWrapper .bar .fill{height:100%;width:0%;background:#888;border-radius:.5rem}::ng-deep .pageLoading .preloader .icon,::ng-deep .pageAccount .preloader .icon{grid-row:1;grid-column:1;font-size:2rem;color:#888;margin-bottom:1rem}::ng-deep .devIndicator{position:fixed;font-size:3rem;color:#888;opacity:.25;z-index:-1}::ng-deep .devIndicator.tl{top:2rem;left:2rem}::ng-deep .devIndicator.tr{top:2rem;right:2rem}::ng-deep .devIndicator.bl{bottom:2rem;left:2rem}::ng-deep .devIndicator.br{bottom:2rem;right:2rem}::ng-deep *{box-sizing:border-box}::ng-deep .hidden{display:none!important}::ng-deep .invisible{opacity:0!important;pointer-events:none!important}::ng-deep .button{color:#181819;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;background:#e2d8be;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem}::ng-deep .button.active{background:#888;color:#f6f6f6}::ng-deep .button.active:hover{background:#181819}::ng-deep .button.active:active{background:#888;color:#f6f6f6}::ng-deep .button.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .button.disabled:hover{background:#181819;outline:none}::ng-deep .button.disabled:active{background:#888;color:#f6f6f6}::ng-deep .button:hover{color:#f6f6f6;background:#181819;outline:none}::ng-deep .button:focus{outline:2px solid #181819}::ng-deep .button:active{background:#888;color:#f6f6f6}::ng-deep .textButton{color:#888;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem;width:max-content;width:-moz-max-content;display:grid;grid-auto-flow:column;gap:.25rem;text-decoration:none}::ng-deep .textButton .fas,::ng-deep .textButton .far{display:grid;place-content:center center}::ng-deep .textButton.active{color:#888}::ng-deep .textButton.active:hover{color:#181819}::ng-deep .textButton.active:active{color:#888}::ng-deep .textButton.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .textButton.disabled:hover{background:#181819;outline:none}::ng-deep .textButton.disabled:active{background:#888;color:#f6f6f6}::ng-deep .textButton:hover{color:#181819}::ng-deep .textButton:focus{color:#181819;outline:none}::ng-deep .textButton:active{color:#888}::ng-deep .scrollToTopButton{bottom:2rem;right:2rem;position:fixed;font-size:2rem;width:4rem;height:4rem;text-align:center;line-height:4rem;background:#e2d8be;border-radius:99rem;z-index:99;cursor:pointer;color:#888;transition:.25s}::ng-deep .scrollToTopButton:hover{background:#181819;color:#f6f6f6}::ng-deep .inputAndIndicator{position:relative}::ng-deep .inputAndIndicator input{width:100%}::ng-deep .inputAndIndicator .statusIndicator{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}::ng-deep .inputAndIndicator .statusIndicator .indicator{grid-column:1/2;grid-row:1/2}::ng-deep .inputAndIndicator .statusIndicator .indicator.level-1{color:#d33682}::ng-deep .inputAndIndicator .statusIndicator .indicator.level0{color:#888}::ng-deep .inputAndIndicator .statusIndicator .indicator.level1{color:#888}::ng-deep .configureAPI.button{position:fixed;left:2rem;bottom:2rem;display:grid;grid-auto-flow:column;gap:.5rem;text-decoration:none;z-index:999999999}::ng-deep .avatar{transition:opacity .125s,filter .125s,webkit-filter .125s;width:1.25rem;height:1.25rem;border-radius:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}::ng-deep .badge{background:#888;color:#181819;border-radius:.25rem;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:max-content auto;align-items:baseline}::ng-deep .badge .fas,::ng-deep .badge .far{margin:.15rem .3rem;font-size:.9em}::ng-deep .badge .text{margin-top:.15rem;margin-bottom:.15rem;margin-right:.3rem}input,textarea{outline:none;border:none;border-radius:.5rem;background:#e2d8be;color:#181819;padding:.5rem;font-size:1rem;font-family:Roboto Mono,Vazirmatn;caret-color:#888}textarea{resize:vertical}input[type=range]{-webkit-appearance:none;padding:0;width:100%;height:1rem;border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-webkit-slider-thumb:hover{cursor:grab}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-moz-range-thumb:hover{cursor:grab}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=color]{height:3px;opacity:0;padding:0;margin:0;position:absolute;pointer-events:none}input:disabled,textarea:disabled{opacity:.33}::-moz-color-swatch{border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:none;outline:2px solid #888888;font-family:inherit;-webkit-text-fill-color:#181819;-webkit-box-shadow:0 0 0 1000000px #e2d8be inset;caret-color:#181819}.select2-dropdown{background-color:#f6f6f6;color:#181819;outline:none}.select2-container--default.select2-container--disabled .select2-selection--single{background:#e2d8be!important;opacity:.33;cursor:default;pointer-events:none}.select2-selection{background:#e2d8be;height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#181819;outline:none}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#181819;color:#f6f6f6}.select2-container--default .select2-results__option--selected{background-color:#888;color:#f6f6f6}.select2-container--open .select2-dropdown--below,.select2-container--open .select2-dropdown--above{border-color:#e2d8be;background:#f6f6f6;color:#888;border-radius:.5rem}.select2-container--default .select2-selection--single{color:#181819;background:#e2d8be;outline:none;border:none;height:auto;border-radius:.5rem}.select2-container--default.select2-container--disabled .select2-selection--single{background:#5051517a}.select2-selection:focus{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-selection:active{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:35px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent transparent transparent}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#e2d8be;background:#f6f6f6;color:#181819;border-radius:.5rem}.select2-container--default .select2-results__group{color:#181819}.select2-container--default .select2-selection--multiple{background:#e2d8be;border-radius:.5rem;color:#181819;outline:none;border:none}.select2-selection__choice__display{color:#f6f6f6}.select2-selection__choice__remove{color:#888!important}.select2-container .select2-search--inline .select2-search__field{margin:0;border-radius:0;font-family:Roboto Mono,Vazirmatn;line-height:1rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border:none}.select2-container--default .select2-selection--multiple{border:none;padding:.5rem;font-family:Roboto Mono,Vazirmatn}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#888;border:none;border-radius:.25rem;box-sizing:border-box;display:inline-block;margin-left:0;margin-top:0;margin-right:.5rem;padding:0;padding-left:1.25rem;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:1.5rem;border-right:1px solid #F6F6F6;color:#f6f6f6!important;transition:.125s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#181819}.popupWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:center;padding:2rem 0}#customTextPopupWrapper #customTextPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:60vw}#customTextPopupWrapper #customTextPopup .buttonsTop{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup .savedTexts{display:grid;gap:.5rem}#customTextPopupWrapper #customTextPopup .savedTexts .title{color:#888}#customTextPopupWrapper #customTextPopup .savedTexts .buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup textarea{background:#e2d8be;padding:1rem;color:#888;border:none;outline:none;font-size:1rem;font-family:Roboto Mono,Vazirmatn;width:100%;border-radius:.5rem;resize:vertical;height:200px;color:#181819;overflow-x:hidden;overflow-y:scroll}#customTextPopupWrapper #customTextPopup .inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;justify-items:left}#customTextPopupWrapper #customTextPopup .randomInputFields{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;width:100%;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px;max-height:80vh;overflow:auto}#savedTextsPopupWrapper #savedTextsPopup .title{font-size:1.5rem;color:#888}#savedTextsPopupWrapper #savedTextsPopup .list{display:grid;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText{display:grid;gap:.5rem;grid-template-columns:1fr 3rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText .button .fas{pointer-events:none}#wordFilterPopupWrapper #wordFilterPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#wordFilterPopupWrapper #wordFilterPopup input{width:100%}#wordFilterPopupWrapper #wordFilterPopup .group{display:grid;gap:.5rem}#wordFilterPopupWrapper #wordFilterPopup .lengthgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:1rem}#wordFilterPopupWrapper #wordFilterPopup .tip{color:#888;font-size:.8rem}#wordFilterPopupWrapper #wordFilterPopup .loadingIndicator{justify-self:center}#quoteRatePopupWrapper #quoteRatePopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:2rem;width:800px;display:grid;grid-template-areas:\"warning warning warning\" \"spacer2 spacer2 spacer2\" \"ratingStats ratingStats submitButton\" \"spacer spacer spacer\" \"quote quote quote\";grid-template-columns:auto 1fr;color:#181819}#quoteRatePopupWrapper #quoteRatePopup .warning{grid-area:warning}#quoteRatePopupWrapper #quoteRatePopup .warning span{color:#d33682}#quoteRatePopupWrapper #quoteRatePopup .spacer,#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer;width:100%;height:.1rem;border-radius:.5rem;background:#888;opacity:.25}#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer2}#quoteRatePopupWrapper #quoteRatePopup .submitButton{font-size:2rem;grid-area:submitButton;color:#888}#quoteRatePopupWrapper #quoteRatePopup .submitButton:hover{color:#181819}#quoteRatePopupWrapper #quoteRatePopup .top{color:#888;font-size:.8rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;grid-area:ratingStats}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .top{font-size:1rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .val{font-size:2.25rem}#quoteRatePopupWrapper #quoteRatePopup .quote{display:grid;grid-area:quote;gap:1rem;grid-template-areas:\"text text text\" \"id length source\";grid-template-columns:1fr 1fr 3fr}#quoteRatePopupWrapper #quoteRatePopup .quote .text{grid-area:text}#quoteRatePopupWrapper #quoteRatePopup .quote .id{grid-area:id}#quoteRatePopupWrapper #quoteRatePopup .quote .length{grid-area:length}#quoteRatePopupWrapper #quoteRatePopup .quote .source{grid-area:source}#quoteRatePopupWrapper #quoteRatePopup .stars{display:grid;color:#888;font-size:2rem;grid-template-columns:auto auto auto auto auto;justify-content:flex-start;align-items:center;cursor:pointer}#quoteRatePopupWrapper #quoteRatePopup .star{transition:.125s}#quoteRatePopupWrapper #quoteRatePopup i{pointer-events:none}#quoteRatePopupWrapper #quoteRatePopup .star.active{color:#181819}#simplePopupWrapper #simplePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#simplePopupWrapper #simplePopup .title{font-size:1.5rem;color:#888}#simplePopupWrapper #simplePopup .inputs{display:grid;gap:1rem}#simplePopupWrapper #simplePopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup{background:#f6f6f6;border-radius:.5rem;padding:1rem;display:grid;gap:1rem;width:calc(100vw - 2rem);max-width:400px}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .title{font-size:1.5rem;color:#888}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .inputs{display:grid;gap:1rem}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .group{display:grid;gap:.5rem}#customWordAmountPopupWrapper #customWordAmountPopup,#customWordAmountPopupWrapper #customTestDurationPopup,#customWordAmountPopupWrapper #practiseWordsPopup,#customWordAmountPopupWrapper #pbTablesPopup,#customTestDurationPopupWrapper #customWordAmountPopup,#customTestDurationPopupWrapper #customTestDurationPopup,#customTestDurationPopupWrapper #practiseWordsPopup,#customTestDurationPopupWrapper #pbTablesPopup,#practiseWordsPopupWrapper #customWordAmountPopup,#practiseWordsPopupWrapper #customTestDurationPopup,#practiseWordsPopupWrapper #practiseWordsPopup,#practiseWordsPopupWrapper #pbTablesPopup,#pbTablesPopupWrapper #customWordAmountPopup,#pbTablesPopupWrapper #customTestDurationPopup,#pbTablesPopupWrapper #practiseWordsPopup,#pbTablesPopupWrapper #pbTablesPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#customWordAmountPopupWrapper #customWordAmountPopup .title,#customWordAmountPopupWrapper #customTestDurationPopup .title,#customWordAmountPopupWrapper #practiseWordsPopup .title,#customWordAmountPopupWrapper #pbTablesPopup .title,#customTestDurationPopupWrapper #customWordAmountPopup .title,#customTestDurationPopupWrapper #customTestDurationPopup .title,#customTestDurationPopupWrapper #practiseWordsPopup .title,#customTestDurationPopupWrapper #pbTablesPopup .title,#practiseWordsPopupWrapper #customWordAmountPopup .title,#practiseWordsPopupWrapper #customTestDurationPopup .title,#practiseWordsPopupWrapper #practiseWordsPopup .title,#practiseWordsPopupWrapper #pbTablesPopup .title,#pbTablesPopupWrapper #customWordAmountPopup .title,#pbTablesPopupWrapper #customTestDurationPopup .title,#pbTablesPopupWrapper #practiseWordsPopup .title,#pbTablesPopupWrapper #pbTablesPopup .title{font-size:1.5rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .tip,#customWordAmountPopupWrapper #customTestDurationPopup .tip,#customWordAmountPopupWrapper #practiseWordsPopup .tip,#customWordAmountPopupWrapper #pbTablesPopup .tip,#customTestDurationPopupWrapper #customWordAmountPopup .tip,#customTestDurationPopupWrapper #customTestDurationPopup .tip,#customTestDurationPopupWrapper #practiseWordsPopup .tip,#customTestDurationPopupWrapper #pbTablesPopup .tip,#practiseWordsPopupWrapper #customWordAmountPopup .tip,#practiseWordsPopupWrapper #customTestDurationPopup .tip,#practiseWordsPopupWrapper #practiseWordsPopup .tip,#practiseWordsPopupWrapper #pbTablesPopup .tip,#pbTablesPopupWrapper #customWordAmountPopup .tip,#pbTablesPopupWrapper #customTestDurationPopup .tip,#pbTablesPopupWrapper #practiseWordsPopup .tip,#pbTablesPopupWrapper #pbTablesPopup .tip{font-size:.75rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .text,#customWordAmountPopupWrapper #customTestDurationPopup .text,#customWordAmountPopupWrapper #practiseWordsPopup .text,#customWordAmountPopupWrapper #pbTablesPopup .text,#customTestDurationPopupWrapper #customWordAmountPopup .text,#customTestDurationPopupWrapper #customTestDurationPopup .text,#customTestDurationPopupWrapper #practiseWordsPopup .text,#customTestDurationPopupWrapper #pbTablesPopup .text,#practiseWordsPopupWrapper #customWordAmountPopup .text,#practiseWordsPopupWrapper #customTestDurationPopup .text,#practiseWordsPopupWrapper #practiseWordsPopup .text,#practiseWordsPopupWrapper #pbTablesPopup .text,#pbTablesPopupWrapper #customWordAmountPopup .text,#pbTablesPopupWrapper #customTestDurationPopup .text,#pbTablesPopupWrapper #practiseWordsPopup .text,#pbTablesPopupWrapper #pbTablesPopup .text{font-size:1rem;color:#181819}#customWordAmountPopupWrapper #customTestDurationPopup .preview,#customTestDurationPopupWrapper #customTestDurationPopup .preview,#practiseWordsPopupWrapper #customTestDurationPopup .preview,#pbTablesPopupWrapper #customTestDurationPopup .preview{font-size:.75rem;color:#888}#googleSignUpPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#googleSignUpPopup .title{font-size:1.5rem;color:#888}#googleSignUpPopup .inputAndIndicator{position:relative}#googleSignUpPopup .inputAndIndicator input{width:100%}#googleSignUpPopup .inputAndIndicator .checkStatus{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available,#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{grid-column:1/2;grid-row:1/2}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available{color:#888}#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{color:#d33682}#shareTestSettingsPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:500px}#shareTestSettingsPopup .title{font-size:1.5rem;color:#888}#shareTestSettingsPopup .subgroup{padding-left:2rem}#shareTestSettingsPopup .tooLongWarning{font-size:.75rem;color:#d33682}#cookiePopupWrapper .extensionMessage{position:fixed;right:2rem;bottom:2rem;padding:1rem;width:465px;font-size:.75rem}#cookiePopupWrapper #cookiePopup{position:fixed;right:2rem;bottom:2rem;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:465px;z-index:100000001;-webkit-user-select:none;user-select:none}#cookiePopupWrapper #cookiePopup .main{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .title{font-size:1.5rem;color:#888}#cookiePopupWrapper #cookiePopup .buttons{margin-top:.25rem;display:grid;grid-auto-flow:column;gap:1rem;grid-template-columns:1fr 2.25rem}#cookiePopupWrapper #cookiePopup .settings{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .settings .customTextCheckbox{background:#888}#cookiePopupWrapper #cookiePopup .settings .cookie label{display:grid;gap:0 1rem;grid-template-columns:1fr min-content;grid-template-areas:\"title check\" \"description check\"}#cookiePopupWrapper #cookiePopup .settings .cookie label .title{grid-area:title;font-size:1.25rem}#cookiePopupWrapper #cookiePopup .settings .cookie label .description{grid-area:description}#cookiePopupWrapper #cookiePopup .settings .cookie label .customTextCheckbox{place-self:center;grid-area:check}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label{grid-template-columns:1fr;grid-template-areas:\"title\" \"description\"}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label a{margin-top:.25rem}#videoAdPopupWrapper{display:flex;padding:2rem}#videoAdPopupWrapper #videoAdPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:1rem;width:100%;max-width:1000px;aspect-ratio:16/9;display:grid;grid-template-areas:\"middle\"}#videoAdPopupWrapper #videoAdPopup .preloader{grid-area:middle;display:grid;place-items:center center;gap:1rem;font-size:2rem;color:#888;height:max-content;align-self:center}#videoAdPopupWrapper #videoAdPopup .video{grid-area:middle}#pbTablesPopupWrapper #pbTablesPopup{min-width:50rem;max-height:calc(100vh - 10rem);overflow-y:scroll}#pbTablesPopupWrapper #pbTablesPopup .title{color:#181819}#pbTablesPopupWrapper #pbTablesPopup table{border-spacing:0;border-collapse:collapse;color:#181819}#pbTablesPopupWrapper #pbTablesPopup table td{padding:.5rem}#pbTablesPopupWrapper #pbTablesPopup table thead{color:#888;font-size:.75rem}#pbTablesPopupWrapper #pbTablesPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#pbTablesPopupWrapper #pbTablesPopup table td.infoIcons span{margin:0 .1rem}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton{opacity:.25;transition:.25s;cursor:pointer}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton:hover{opacity:1}#pbTablesPopupWrapper #pbTablesPopup table .sub{opacity:.5}#pbTablesPopupWrapper #pbTablesPopup table td{text-align:right}#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(6),#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(7){text-align:center}#pbTablesPopupWrapper #pbTablesPopup table tbody td:nth-child(1){font-size:1.5rem}#customThemeShareWrapper #customThemeShare{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSearchPopupWrapper .highlight{color:#888}#quoteSearchPopupWrapper #quoteSearchPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:80vw;max-width:1000px;height:80vh;grid-template-rows:auto auto auto 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop{display:flex;justify-content:space-between}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .title{font-size:1.5rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons{width:33%;display:grid;gap:.5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons .button{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{display:grid;grid-template-columns:1.5fr 1fr max-content;gap:1rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #searchBox{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #toggleShowFavorites{height:100%;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem}#quoteSearchPopupWrapper #quoteSearchPopup #extraResults{text-align:center;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults{display:grid;gap:.5rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult{display:grid;grid-template-columns:1fr 1fr 3fr 0fr 0fr;grid-template-areas:\"text text text text text\" \"id len source report favorite\";grid-auto-rows:auto;width:100%;gap:.5rem;transition:.25s;padding:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;height:min-content}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .text{grid-area:text;overflow:visible;color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .id{grid-area:id;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .length{grid-area:len;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .source{grid-area:source;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .resultChevron{grid-area:chevron;display:flex;align-items:center;justify-items:center;color:#888;font-size:2rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report{grid-area:report;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite{grid-area:favorite;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .sub{opacity:.5}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult:hover{background:#e2d8be;border-radius:5px}#settingsImportWrapper #settingsImport{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSubmitPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:100%;max-height:40rem;overflow-y:scroll}#quoteSubmitPopup label{color:#888;margin-bottom:-1rem}#quoteSubmitPopup .title{font-size:1.5rem;color:#888}#quoteSubmitPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteSubmitPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteSubmitPopup .characterCount.red{color:#d33682}#apeKeysPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;width:1000px;max-width:calc(100vw - 4rem);min-height:18rem;overflow-y:scroll;grid-template-rows:max-content auto;align-items:baseline;gap:1rem}#apeKeysPopup .top{display:grid;grid-template-columns:1fr auto}#apeKeysPopup .top .title{font-size:1.5rem;color:#888}#apeKeysPopup .top .button{padding:.4rem 2rem}#apeKeysPopup .textButton{justify-content:center}#apeKeysPopup .keyButtons{display:grid;grid-auto-flow:column;gap:1rem}#apeKeysPopup .keyButtons .button{width:3rem}#apeKeysPopup table{width:100%;border-spacing:0;border-collapse:collapse}#apeKeysPopup table tr td:first-child{text-align:center}#apeKeysPopup table tr.me td{color:#888}#apeKeysPopup table td{padding:.5rem}#apeKeysPopup table thead{color:#888;font-size:.75rem}#apeKeysPopup table thead td{padding:.5rem;background:#f6f6f6;position:-webkit-sticky;position:sticky;top:0;z-index:99}#apeKeysPopup table tbody{color:#181819}#apeKeysPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#apeKeysPopup table tfoot td{padding:1rem .5rem;position:-webkit-sticky;position:sticky;bottom:-5px;background:#f6f6f6;color:#888;z-index:4}#apeKeysPopup table tr td:first-child{padding-left:1rem}#apeKeysPopup table tr td:last-child{padding-right:1rem}#quoteApprovePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;height:80vh;grid-template-rows:auto 1fr}#quoteApprovePopup .top{display:flex;justify-content:space-between}#quoteApprovePopup .top .title{font-size:1.5rem;color:#888}#quoteApprovePopup .top .button{width:33%}#quoteApprovePopup .quotes{display:grid;gap:1rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteApprovePopup .quotes .quote{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto 2rem;width:100%;gap:1rem;transition:.25s;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:min-content;margin-bottom:1rem}#quoteApprovePopup .quotes .quote .text{grid-column:1/2;grid-row:1/2;overflow:visible;color:#181819;resize:vertical;min-height:4rem}#quoteApprovePopup .quotes .quote .source{grid-column:1/2;grid-row:2/3;color:#181819}#quoteApprovePopup .quotes .quote .buttons{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;grid-column:2/3;grid-row:1/4;color:#888}#quoteApprovePopup .quotes .quote .bottom{display:flex;justify-content:space-around;color:#888}#quoteApprovePopup .quotes .quote .bottom .length.red{color:#d33682}#quoteApprovePopup .quotes .quote .sub{opacity:.5}#quoteApprovePopup .quotes .searchResult:hover{background:#e2d8be;border-radius:5px}#quoteReportPopupWrapper #quoteReportPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:auto;max-height:40rem;overflow-y:scroll;width:calc(100% - 4rem);margin-left:2rem;max-width:800px}#quoteReportPopupWrapper #quoteReportPopup label{color:#888;margin-bottom:-1rem}#quoteReportPopupWrapper #quoteReportPopup .quote{font-size:1.5rem}#quoteReportPopupWrapper #quoteReportPopup .title{font-size:1.5rem;color:#888}#quoteReportPopupWrapper #quoteReportPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteReportPopupWrapper #quoteReportPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteReportPopupWrapper #quoteReportPopup .characterCount.red{color:#d33682}#resultEditTagsPanelWrapper #resultEditTagsPanel{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll;width:500px}#resultEditTagsPanelWrapper #resultEditTagsPanel .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}#versionHistoryWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:start;padding:5rem 0}#versionHistoryWrapper #versionHistory{width:75vw;height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#versionHistoryWrapper #versionHistory .tip{text-align:center;color:#888}#versionHistoryWrapper #versionHistory .releases{display:grid;gap:4rem}#versionHistoryWrapper #versionHistory .releases .release{display:grid;grid-template-areas:\"title date\" \"body body\"}#versionHistoryWrapper #versionHistory .releases .release .title{grid-area:title;font-size:2rem;color:#888}#versionHistoryWrapper #versionHistory .releases .release .date{grid-area:date;text-align:right;color:#888;align-self:center}#versionHistoryWrapper #versionHistory .releases .release .body{grid-area:body;color:#181819}#versionHistoryWrapper #versionHistory .releases .release:last-child{margin-bottom:2rem}#supportMeWrapper #supportMe{width:900px;overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem}#supportMeWrapper #supportMe .title{font-size:1.5rem;color:#888}#supportMeWrapper #supportMe .text{color:#181819}#supportMeWrapper #supportMe .subtext{color:#888;font-size:.75rem}#supportMeWrapper #supportMe .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#supportMeWrapper #supportMe .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;gap:1rem;text-decoration:none}#supportMeWrapper #supportMe .buttons .button .text{transition:.25s}#supportMeWrapper #supportMe .buttons .button:hover .text{color:#f6f6f6}#supportMeWrapper #supportMe .buttons .button .icon{font-size:3rem;line-height:3rem}#contactPopupWrapper #contactPopup{overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem;margin:0 2rem;max-width:900px}#contactPopupWrapper #contactPopup .title{font-size:1.5rem;line-height:2rem;color:#888}#contactPopupWrapper #contactPopup .text{color:#181819}#contactPopupWrapper #contactPopup .text span{color:#d33682}#contactPopupWrapper #contactPopup .subtext{color:#888;font-size:.75rem;grid-area:subtext}#contactPopupWrapper #contactPopup .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr}#contactPopupWrapper #contactPopup .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;text-decoration:none;grid-template-areas:\"icon textgroup\";grid-template-columns:auto 1fr;text-align:left;align-items:center}#contactPopupWrapper #contactPopup .buttons .button .textGroup{grid-area:textgroup}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1.5rem;line-height:2rem;transition:.25s}#contactPopupWrapper #contactPopup .buttons .button:hover .text{color:#f6f6f6}#contactPopupWrapper #contactPopup .buttons .button .icon{grid-area:icon;font-size:2rem;line-height:2rem;padding:0 1rem}#presetWrapper #presetEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#presetWrapper #presetEdit .title{font-size:1.5rem;color:#888}#tagsWrapper #tagsEdit,#tagsWrapper #newResultFilterPresetPopup,#tagsWrapper #editProfilePopup,#newResultFilterPresetPopupWrapper #tagsEdit,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup,#newResultFilterPresetPopupWrapper #editProfilePopup,#editProfilePopupWrapper #tagsEdit,#editProfilePopupWrapper #newResultFilterPresetPopup,#editProfilePopupWrapper #editProfilePopup{max-height:90vh;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#tagsWrapper #tagsEdit .title,#tagsWrapper #newResultFilterPresetPopup .title,#tagsWrapper #editProfilePopup .title,#newResultFilterPresetPopupWrapper #tagsEdit .title,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup .title,#newResultFilterPresetPopupWrapper #editProfilePopup .title,#editProfilePopupWrapper #tagsEdit .title,#editProfilePopupWrapper #newResultFilterPresetPopup .title,#editProfilePopupWrapper #editProfilePopup .title{font-size:1.5rem;color:#888}#editProfilePopup{width:100%;max-width:600px}#editProfilePopup label{color:#888}#editProfilePopup input{width:100%}#editProfilePopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem;max-height:10rem}#editProfilePopup .socialURL{display:flex}#editProfilePopup .socialURL>p{margin-block:.5rem;margin-inline-end:.5rem}#editProfilePopup .badgeSelectionContainer{display:flex;flex-wrap:wrap}#editProfilePopup .badgeSelectionItem{width:max-content;opacity:25%;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem}#editProfilePopup .badgeSelectionItem.selected,#editProfilePopup .badgeSelectionItem:hover{opacity:100%}#customThemesWrapper #customThemesEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}::ng-deep #timerWrapper{opacity:0;transition:.25s;z-index:-1;position:relative;z-index:99}::ng-deep #timerWrapper #timer{position:fixed;top:0;left:0;width:100vw;height:.5rem;background:#000;z-index:-1}::ng-deep #timerWrapper #timer.timerMain{background:#888}::ng-deep #timerWrapper #timer.timerSub{background:#888}::ng-deep #timerWrapper #timer.timerText{background:#181819}::ng-deep .pageTest{position:relative}::ng-deep .pageTest .ssWatermark{font-size:1.25rem;color:#888;line-height:1rem;text-align:right}::ng-deep .pageTest #timerNumber{pointer-events:none;transition:.25s;color:#000;line-height:0;z-index:-1;text-align:center;left:0;width:100%;position:relative;font-size:10rem;opacity:0;width:0;height:0;margin:0 auto;display:grid;justify-content:center;bottom:6rem;transition:none}::ng-deep .pageTest #largeLiveWpmAndAcc{font-size:10rem;color:#000;width:100%;left:0;text-align:center;z-index:-1;height:0;line-height:0;top:5rem;position:relative;display:grid;grid-auto-flow:column;justify-content:center;gap:5rem;width:0;margin:0 auto}::ng-deep .pageTest #largeLiveWpmAndAcc #liveWpm{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveAcc{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveBurst{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc.timerMain,::ng-deep .pageTest #timerNumber.timerMain{color:#888}::ng-deep .pageTest #timer.timerMain{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerSub,::ng-deep .pageTest #timerNumber.timerSub{color:#888}::ng-deep .pageTest #timer.timerSub{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerText,::ng-deep .pageTest #timerNumber.timerText{color:#181819}::ng-deep .pageTest #timer.timerText{background:#181819}::ng-deep #words,::ng-deep .words{height:fit-content;height:-moz-fit-content;display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none;padding-bottom:1em}::ng-deep #words .newline,::ng-deep .words .newline{width:inherit}::ng-deep #words letter,::ng-deep .words letter{border-bottom-style:solid;border-bottom-width:.05em;border-bottom-color:transparent}::ng-deep #words letter.dead,::ng-deep .words letter.dead{border-bottom-width:.05em;border-bottom-color:#888}::ng-deep #words letter.tabChar,::ng-deep #words letter.nlChar,::ng-deep .words letter.tabChar,::ng-deep .words letter.nlChar{margin:0 .25rem;opacity:.2}::ng-deep #words.rightToLeftTest,::ng-deep .words.rightToLeftTest{direction:rtl}::ng-deep #words.rightToLeftTest .word,::ng-deep .words.rightToLeftTest .word{direction:rtl}::ng-deep #words.withLigatures letter,::ng-deep .words.withLigatures letter{display:inline}::ng-deep #words.blurred,::ng-deep .words.blurred{opacity:.25;filter:blur(4px);-webkit-filter:blur(4px)}::ng-deep #words.flipped .word,::ng-deep .words.flipped .word{color:#181819}::ng-deep #words.flipped .word letter.dead,::ng-deep .words.flipped .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped .word letter.correct,::ng-deep .words.flipped .word letter.correct{color:#888}::ng-deep #words.flipped .word letter.corrected,::ng-deep .words.flipped .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped .word letter.extraCorrected,::ng-deep .words.flipped .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.colorfulMode .word letter.dead,::ng-deep .words.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.colorfulMode .word letter.correct,::ng-deep .words.colorfulMode .word letter.correct{color:#888}::ng-deep #words.colorfulMode .word letter.corrected,::ng-deep .words.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.extraCorrected,::ng-deep .words.colorfulMode .word letter.extraCorrected{border-right:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.incorrect,::ng-deep .words.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.colorfulMode .word letter.incorrect.extra,::ng-deep .words.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.flipped.colorfulMode .word,::ng-deep .words.flipped.colorfulMode .word{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.dead,::ng-deep .words.flipped.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped.colorfulMode .word letter.correct,::ng-deep .words.flipped.colorfulMode .word letter.correct{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.corrected,::ng-deep .words.flipped.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.extraCorrected,::ng-deep .words.flipped.colorfulMode .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.incorrect,::ng-deep .words.flipped.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.flipped.colorfulMode .word letter.incorrect.extra,::ng-deep .words.flipped.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.tape.size125 .word,::ng-deep .words.tape.size125 .word{margin:.31rem .62rem .31rem 0}::ng-deep #words.tape.size15 .word,::ng-deep .words.tape.size15 .word{margin:.37rem .74rem .37rem 0}::ng-deep #words.tape.size2 .word,::ng-deep .words.tape.size2 .word{margin:.5rem 1rem .5rem 0}::ng-deep #words.tape.size3 .word,::ng-deep .words.tape.size3 .word{margin:.75rem 1.5rem .75rem 0}::ng-deep #words.tape.size4 .word,::ng-deep .words.tape.size4 .word{margin:1rem 2rem 1rem 0}::ng-deep #words.tape.indicateTyposBelow.size125 .word,::ng-deep .words.tape.indicateTyposBelow.size125 .word{margin:.31rem .62rem .93rem 0}::ng-deep #words.tape.indicateTyposBelow.size15 .word,::ng-deep .words.tape.indicateTyposBelow.size15 .word{margin:.37rem .74rem 1.11rem 0}::ng-deep #words.tape.indicateTyposBelow.size2 .word,::ng-deep .words.tape.indicateTyposBelow.size2 .word{margin:.5rem 1rem 1.5rem 0}::ng-deep #words.tape.indicateTyposBelow.size3 .word,::ng-deep .words.tape.indicateTyposBelow.size3 .word{margin:.75rem 1.5rem 2.25rem 0}::ng-deep #words.tape.indicateTyposBelow.size4 .word,::ng-deep .words.tape.indicateTyposBelow.size4 .word{margin:1rem 2rem 3rem 0}::ng-deep .word{margin:.25rem;color:#888;font-variant:no-common-ligatures;border-bottom:2px solid transparent;line-height:1rem}::ng-deep .word letter{display:inline-block}::ng-deep .word.lastbeforenewline:after{font-family:\"Font Awesome 5 Free\";font-weight:600;content:\"\\f107\";margin-left:.5rem;opacity:.25}::ng-deep .word .wordInputAfter{opacity:1;position:absolute;background:#888;color:#f6f6f6;padding:.5rem;margin-left:-.5rem;border-radius:.5rem;transition:.25s;text-shadow:none;top:-.5rem;z-index:10;cursor:text}::ng-deep .word .wordInputAfter .speed{font-size:.75rem}::ng-deep #words.size125 .word{line-height:1.25rem;font-size:max(1.25rem,24px);margin:.31rem}::ng-deep #words.size15 .word{line-height:1.5rem;font-size:max(1.5rem,24px);margin:.37rem}::ng-deep #words.size2 .word{line-height:2rem;font-size:max(2rem,24px);margin:.5rem}::ng-deep #words.size3 .word{line-height:3rem;font-size:max(3rem,24px);margin:.75rem}::ng-deep #words.size4 .word{line-height:4rem;font-size:max(4rem,24px);margin:1rem}::ng-deep #words.nospace .word{margin:.5rem 0}::ng-deep #words.arrows .word{margin:.5rem 0}::ng-deep #words.arrows .word letter{margin:0 .25rem}::ng-deep .word.error{border-bottom:2px solid #d33682;text-shadow:1px 0px 0px #F6F6F6,-1px 0px 0px #F6F6F6,0px 1px 0px #F6F6F6,1px 1px 0px #F6F6F6,-1px 1px 0px #F6F6F6}::ng-deep #words.noErrorBorder .word.error,::ng-deep #resultWordsHistory.noErrorBorder .word.error{text-shadow:none}::ng-deep .word letter.correct{color:#181819}::ng-deep .word letter.corrected{color:#181819;border-bottom:2px dotted #888888}::ng-deep .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep .word letter.incorrect{color:#d33682;position:relative}::ng-deep .word letter.incorrect hint{position:absolute;bottom:-1em;color:#181819;line-height:initial;font-size:.75em;text-shadow:none;padding:1px;left:0;opacity:.5;text-align:center;width:100%;display:grid;justify-content:center}::ng-deep .word letter.incorrect.extra{color:#9b225c}::ng-deep .word letter.missing{opacity:.5}::ng-deep #words.flipped.colorfulMode .word.error,::ng-deep #words.colorfulMode .word.error{border-bottom:2px solid #d33682}::ng-deep #wordsInput{opacity:0;padding:0;margin:0;border:none;outline:none;display:block;resize:none;position:fixed;z-index:-1;cursor:default;pointer-events:none}::ng-deep #capsWarning{background:#888;color:#f6f6f6;display:table;position:absolute;left:50%;transform:translate(-50%) translateY(-50%);padding:1rem;border-radius:.5rem;transition:.125s;z-index:999;pointer-events:none;top:-2.5rem}::ng-deep #capsWarning i{margin-right:.5rem}::ng-deep #result{display:grid;gap:1rem;align-items:center;grid-template-columns:auto 1fr;grid-template-areas:\"stats chart\" \"morestats morestats\"}::ng-deep #result:focus{outline:none}::ng-deep #result .buttons{display:grid;grid-auto-flow:column;gap:1rem;justify-content:center;grid-column:1/3}::ng-deep #result .ssWatermark{grid-column:1/3}::ng-deep #result #resultWordsHistory,::ng-deep #result #resultReplay{color:#888;margin-bottom:1rem}::ng-deep #result #resultWordsHistory .textButton,::ng-deep #result #resultReplay .textButton{padding:0;margin-left:.5rem}::ng-deep #result #resultWordsHistory .heatmapLegend,::ng-deep #result #resultReplay .heatmapLegend{margin-left:.5rem;display:inline-grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.75rem;color:#888;width:min-content}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes,::ng-deep #result #resultReplay .heatmapLegend .boxes{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box,::ng-deep #result #resultReplay .heatmapLegend .boxes .box{height:1rem;color:#f6f6f6;padding:.1rem .5rem;white-space:nowrap;line-height:.75rem;display:grid;place-content:center center}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(1),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(1){background:#d33682;border-radius:.5rem 0 0 .5rem}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(2),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(2){background:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(3),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(3){background:#888}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(4),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(4){background:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(5),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(5){background:#888;border-radius:0 .5rem .5rem 0}::ng-deep #result #resultWordsHistory .title,::ng-deep #result #resultReplay .title{-webkit-user-select:none;user-select:none;margin-bottom:.25rem}::ng-deep #result #resultWordsHistory .words,::ng-deep #result #resultReplay .words{display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none}::ng-deep #result #resultWordsHistory .words .word,::ng-deep #result #resultReplay .words .word{position:relative;margin:.18rem .6rem .15rem 0}::ng-deep #result #resultWordsHistory .words .word letter.correct,::ng-deep #result #resultReplay .words .word letter.correct{color:#181819}::ng-deep #result #resultWordsHistory .words .word letter.incorrect,::ng-deep #result #resultReplay .words .word letter.incorrect{color:#d33682}::ng-deep #result #resultWordsHistory .words .word letter.incorrect.extra,::ng-deep #result #resultReplay .words .word letter.incorrect.extra{color:#9b225c}::ng-deep #result #resultWordsHistory .words .word.heatmap0 letter,::ng-deep #result #resultReplay .words .word.heatmap0 letter{color:#d33682}::ng-deep #result #resultWordsHistory .words .word.heatmap1 letter,::ng-deep #result #resultReplay .words .word.heatmap1 letter{color:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap2 letter,::ng-deep #result #resultReplay .words .word.heatmap2 letter{color:#888}::ng-deep #result #resultWordsHistory .words .word.heatmap3 letter,::ng-deep #result #resultReplay .words .word.heatmap3 letter{color:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap4 letter,::ng-deep #result #resultReplay .words .word.heatmap4 letter{color:#888}::ng-deep #result #resultWordsHistory .words.rightToLeftTest,::ng-deep #result #resultReplay .words.rightToLeftTest{direction:rtl}::ng-deep #result #resultWordsHistory .words.rightToLeftTest .word,::ng-deep #result #resultReplay .words.rightToLeftTest .word{direction:rtl}::ng-deep #result #resultWordsHistory .words.withLigatures letter,::ng-deep #result #resultReplay .words.withLigatures letter{display:inline}::ng-deep #result .chart{grid-area:chart;width:100%;max-height:200px;height:200px}::ng-deep #result .chart canvas{width:100%!important;height:100%}::ng-deep #result .chart .title{color:#888;margin-bottom:1rem}::ng-deep #result .loginTip{grid-column:1/3;text-align:center;color:#888}::ng-deep #result .loginTip .link{text-decoration:underline;display:inline-block;cursor:pointer}::ng-deep #result .stats{grid-area:stats;display:grid;gap:.5rem;justify-content:center;align-items:center;grid-template-areas:\"wpm\" \"acc\"}::ng-deep #result .stats.morestats{display:grid;grid-auto-flow:column;grid-template-areas:none;align-items:flex-start;justify-content:space-between;column-gap:2rem;grid-area:morestats}::ng-deep #result .stats.morestats .subgroup{display:grid;gap:.5rem}::ng-deep #result .stats .group .top{color:#888;font-size:1rem;line-height:1rem;margin-bottom:.25rem}::ng-deep #result .stats .group .bottom{color:#888;font-size:2rem;line-height:2rem}::ng-deep #result .stats .group.time .afk,::ng-deep #result .stats .group.time .timeToday{color:#888;font-size:.75rem;line-height:.75rem;margin-left:.2rem}::ng-deep #result .stats .group.source #rateQuoteButton,::ng-deep #result .stats .group.source #reportQuoteButton,::ng-deep #result .stats .group.source #favoriteQuoteButton{padding:0 .25rem}::ng-deep #result .stats .group.source #rateQuoteButton{display:inline-grid;gap:.25rem}::ng-deep #result .stats .info .top,::ng-deep #result .stats .tags .top,::ng-deep #result .stats .source .top{font-size:1rem;line-height:1rem}::ng-deep #result .stats .info .bottom,::ng-deep #result .stats .tags .bottom,::ng-deep #result .stats .source .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .source{max-width:30rem}::ng-deep #result .stats .tags .bottom .fas{margin-left:.5rem}::ng-deep #result .stats .wpm{grid-area:wpm}::ng-deep #result .stats .wpm .top{font-size:2rem;line-height:1.5rem;display:flex}::ng-deep #result .stats .wpm .top .crown{margin-left:.5rem;margin-top:-.2rem;font-size:.7rem;line-height:1.7rem;background:#888;color:#f6f6f6;border-radius:.6rem;text-align:center;align-self:center;width:1.7rem;height:1.7rem}::ng-deep #result .stats .wpm .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .testType .bottom,::ng-deep #result .stats .leaderboards .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .testType .bottom .lbChange .fas,::ng-deep #result .stats .leaderboards .bottom .lbChange .fas{margin-right:.15rem}::ng-deep #result .stats .acc{grid-area:acc}::ng-deep #result .stats .acc .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .acc .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .burst{grid-area:burst}::ng-deep #result .stats .burst .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .burst .bottom{font-size:4rem;line-height:4rem}::ng-deep #restartTestButton,::ng-deep #showWordHistoryButton,::ng-deep #saveScreenshotButton,::ng-deep #restartTestButtonWithSameWordset,::ng-deep #nextTestButton,::ng-deep #practiseWordsButton,::ng-deep #watchReplayButton,::ng-deep #watchVideoAdButton{position:relative;border-radius:.5rem;padding:1rem 2rem;width:min-content;width:-moz-min-content;color:#888;transition:.125s;cursor:pointer}::ng-deep #restartTestButton:hover,::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:hover,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:hover,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:hover,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:hover,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:hover,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:hover,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:hover,::ng-deep #watchVideoAdButton:focus{color:#181819;outline:none}::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:focus{background:#181819;color:#f6f6f6}::ng-deep #retrySavingResultButton{position:relative;border-radius:.5rem;padding:1rem 2rem;color:#d33682;transition:.25s;cursor:pointer;width:max-content;width:-moz-max-content;background:#d33682;color:#f6f6f6;justify-self:center;justify-content:center;margin:0 auto 1rem;-webkit-user-select:none;user-select:none}::ng-deep #retrySavingResultButton:hover,::ng-deep #retrySavingResultButton:focus{background:#181819;outline:none}::ng-deep #retrySavingResultButton:focus{background:#181819}::ng-deep #showWordHistoryButton{opacity:1}::ng-deep #replayWords{cursor:pointer}::ng-deep #replayStopwatch{color:#888;display:inline-block;margin:0 0 0 .5em}::ng-deep #restartTestButton{margin:0 auto;margin-top:1rem}::ng-deep .pageTest #wordsWrapper{position:relative}::ng-deep .pageTest #wordsWrapper.tape{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 1%,rgb(0,0,0) 10%,rgb(0,0,0) 90%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(90deg,#0000 1%,#000 10% 90%,#0000 99%)}::ng-deep .pageTest #memoryTimer{background:#888;color:#f6f6f6;padding:1rem;border-radius:.5rem;text-align:center;width:max-content;left:50%;position:absolute;transform:translate(-50%);top:-6rem;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0}::ng-deep .pageTest .outOfFocusWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .pageTest .errorWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:auto;user-select:auto}::ng-deep .pageTest #testModesNotice{display:flex;flex-wrap:wrap;color:#888;text-align:center;margin-bottom:.5rem;transition:.125s;justify-content:center;-webkit-user-select:none;user-select:none}::ng-deep .pageTest #testModesNotice .textButton{margin:0 .5rem}::ng-deep .pageTest #testModesNotice .fas{margin-right:.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm{height:0;margin-left:.37rem;display:flex;font-size:1rem;line-height:1.13rem;margin-top:-1.5rem;position:absolute;color:#000;font-weight:700}::ng-deep .pageTest #miniTimerAndLiveWpm .time{margin-right:2rem;margin-top:-2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc{margin-right:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .time,::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc,::ng-deep .pageTest #miniTimerAndLiveWpm .burst{opacity:0}::ng-deep .pageTest #miniTimerAndLiveWpm.timerMain{color:#00000080}::ng-deep .pageTest #miniTimerAndLiveWpm.timerSub{color:#888}::ng-deep .pageTest #miniTimerAndLiveWpm.timerText{color:#181819}::ng-deep .pageTest #miniTimerAndLiveWpm.size125{margin-top:-1.75rem;font-size:1.38rem;line-height:1.25rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size15{margin-top:-2rem;font-size:1.63rem;line-height:1.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size2{margin-top:-2.5rem;font-size:2.13rem;line-height:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size3{margin-top:-3.5rem;font-size:3.13rem;line-height:3rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size4{margin-top:-4.5rem;font-size:4.13rem;line-height:4rem}::ng-deep #middle.focus .pageTest #testModesNotice{opacity:0!important}@media only screen and (max-width: 1330px){.ad.ad-v{display:none}#app{grid-template-columns:auto}}@media only screen and (max-width: 1250px){#leaderboardsWrapper #leaderboards .mainTitle{font-size:2rem}#leaderboardsWrapper #leaderboards .title{font-size:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop{grid-template-columns:auto 1fr max-content}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row;gap:.5rem}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:none}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem .5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr 1fr max-content}}@media only screen and (max-width: 1050px){.profile .pbsWords,.profile .pbsTime{font-size:.8rem}.profile .details.bioAndKey .bioAndKeyboard .value{font-size:.75rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr}#result .morestats{gap:1rem;grid-template-rows:1fr 1fr}#supportMe{width:90vw!important}#supportMe .buttons .button .icon{font-size:3rem!important;line-height:3rem!important}#customTextPopup{width:80vw!important}#customTextPopup .wordfilter.button{width:50%!important}}@media only screen and (max-width: 1000px){#quoteRatePopup{width:90vw!important}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr;grid-auto-flow:row;grid-template-columns:auto auto auto auto}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr;gap:.25rem 1rem}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(5){display:none}}@media only screen and (max-width: 900px){.ad.ad-h{display:none}.ad.ad-h-s{display:grid}.profile .pbsWords,.profile .pbsTime{font-size:1rem}.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.soc{grid-template-columns:1.25fr auto 1fr auto auto}.profile .details.soc .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-columns:1.25fr auto auto auto 1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-columns:1.25fr auto 1.25fr auto;grid-template-areas:\"avAndName sep2 bioAndKey bioAndKey\" \"typingStats typingStats typingStats socials\"}.profile .details.both .sep1,.profile .details.both .sep3{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr;width:100%}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}.profile .details.none{grid-template-columns:1fr auto 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}#leaderboards .mainTitle{font-size:1.5rem!important}#bannerCenter .banner .container{grid-template-columns:1fr auto}#bannerCenter .banner .container .image,#bannerCenter .banner .container .lefticon,#bannerCenter .banner .container .righticon{display:none}#bannerCenter .banner .container .text{margin-left:1.5rem;text-align:left;justify-self:start}.merchBanner img{display:none}.merchBanner .text{padding:.25rem 0}.pageSettings .section.autoSwitchThemeInputs{grid-template-columns:1fr 3fr}.pageAccount .group.personalBestTables .tables{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(1),.pageAccount .group.history table thead td:nth-child(8),.pageAccount .group.history table thead td:nth-child(9),.pageAccount .group.history table tbody td:nth-child(1),.pageAccount .group.history table tbody td:nth-child(8),.pageAccount .group.history table tbody td:nth-child(9){display:none}}@media only screen and (max-width: 800px){.pageSettings .settingsGroup.quickNav .links{grid-auto-flow:unset;grid-template-columns:1fr 1fr 1fr;justify-items:center}#centerContent #top{grid-template-areas:\"logo config\" \"menu config\";grid-template-columns:auto auto}#centerContent #top .logo{margin-bottom:0}#centerContent #menu{gap:.5rem;font-size:.8rem;line-height:.8rem;margin-top:-.5rem}#centerContent #menu .textButton{padding:.25rem}#contactPopupWrapper #contactPopup .buttons{grid-template-columns:1fr}.pageAbout .section .contributors,.pageAbout .section .supporters{grid-template-columns:1fr 1fr 1fr}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons{grid-template-columns:1fr 1fr}.pageSettings .section.customBackgroundFilter .groups{grid-template-columns:1fr}.pageSettings .section.customBackgroundFilter .saveContainer{grid-column:-1/-2}#commandLine,#commandLineInput{width:600px!important}#leaderboardsWrapper #leaderboards .leaderboardsTop{flex-direction:column;align-items:baseline;grid-template-areas:\"title title\" \"subtitle subtitle\" \"yesterday yesterday\" \"buttons buttons\";grid-template-columns:1fr}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttons{margin-top:.5rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:column}#leaderboardsWrapper #leaderboards .leaderboardsTop .showYesterdayButton{margin-left:0}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{width:30%}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}}@media only screen and (max-width: 700px){.pageAccount .presetFilterButtons .buttons{grid-template-columns:1fr}.pageAccount .triplegroup{grid-template-columns:1fr 1fr}.pageAccount .triplegroup .emptygroup{display:none}.pageAccount .group.chart .below{grid-template-columns:1fr;gap:.5rem}.pageAccount .group.topFilters .buttonsAndTitle .buttons{display:grid;justify-content:unset}.pageAccount .group.history table thead td:nth-child(6),.pageAccount .group.history table tbody td:nth-child(6){display:none}.badge:after,.badge:before{display:none}}@media only screen and (max-width: 650px){.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.none{grid-template-areas:\"avAndName\" \"typingStats\";grid-template-columns:1fr}.profile .details.none .separator{display:none}.profile .details.none .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\";grid-template-columns:1fr 1fr}.profile .details.bioAndKey .separator{display:none}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc{grid-template-areas:\"avAndName\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.soc .separator{display:none}.profile .details.soc .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc .socials{justify-content:start}.profile .details.soc .socials .title{display:block}.profile .details.soc .socials .value{grid-auto-flow:column}.profile .details.both{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\" \"socials socials\";grid-template-columns:1fr 1fr}.profile .details.both .separator{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}#quoteRatePopup .ratingStats{grid-template-columns:1fr 1fr!important}#quoteRatePopup .quote{grid-template-areas:\"text text text\" \"source source source\" \"id length length\"!important}.pageSettings .section{grid-template-columns:1fr;grid-template-areas:\"title\" \"text\" \"buttons\"}.pageSettings .section>.text{margin-bottom:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/5;width:100%;text-align:center}#supportMe{width:80vw!important}#supportMe .buttons{grid-template-columns:none!important}#supportMe .buttons .button{grid-template-columns:auto 1fr;align-items:center}#supportMe .buttons .button .icon{font-size:2rem!important;line-height:2rem!important;margin-left:2rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 600px){.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr 1fr}#top .logo .bottom{margin-top:0}.pageLogin{display:grid;gap:5rem;grid-auto-flow:unset}#middle #result{grid-template-areas:\"stats stats\" \"chart chart\" \"morestats morestats\"}#middle #result .stats{grid-template-areas:\"wpm acc\";gap:2rem}#middle #result .stats.morestats{grid-template-rows:1fr 1fr 1fr;gap:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row}#commandLine,#commandLineInput{width:500px!important}#customTextPopupWrapper #customTextPopup .wordfilter.button{width:100%!important;justify-self:auto}#customTextPopupWrapper #customTextPopup .inputs{display:flex!important;flex-direction:column;justify-content:flex-start}.pageAccount .group.history table thead td:nth-child(7),.pageAccount .group.history table thead td:nth-child(5),.pageAccount .group.history table tbody td:nth-child(7),.pageAccount .group.history table tbody td:nth-child(5){display:none}}@media only screen and (max-width: 550px){.profile .pbsWords,.profile .pbsTime{font-size:.9rem}.profile .pbsWords,.profile .pbsTime{grid-template-columns:1fr 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\";grid-template-columns:1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.both .typingStats{grid-template-columns:1fr}#cookiePopupWrapper #cookiePopup,#cookiePopupWrapper .extensionMessage{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1rem}#contactPopupWrapper #contactPopup .buttons .button .icon{font-size:1.5rem;line-height:1.5rem}#contactPopupWrapper #contactPopup{padding:1rem}.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr}#simplePopupWrapper #simplePopup{width:90vw}#quoteReportPopup{width:calc(100% - 2rem);margin-left:1rem;max-width:800px;padding:1rem}.pageSettings .settingsGroup.quickNav{display:none}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr}.pageSettings .section .buttons{grid-auto-flow:row}.pageSettings .section.customBackgroundFilter .groups .group{grid-template-columns:auto 1fr}.pageSettings .section.customBackgroundFilter .groups .group .title{grid-column:1/3}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons,.pageAccount .triplegroup{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(3),.pageAccount .group.history table tbody td:nth-child(3){display:none}#top{align-items:self-end}#top .logo .icon{width:1.5rem!important}#top .logo .text{font-size:1.5rem!important;margin-bottom:.3rem!important}#top .logo .bottom{font-size:1.75rem;line-height:1.75rem;margin-top:0}#top .logo .top{display:none}#top #menu .textButton{padding:0}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:auto auto auto;grid-auto-flow:row}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr 1fr;gap:.25rem 1rem}#centerContent{padding:1rem}#centerContent #top{grid-template-columns:1fr auto}#centerContent #top .desktopConfig{display:none}#centerContent #top .mobileConfig{display:block}#middle #result .stats{grid-template-areas:\"wpm\" \"acc\";gap:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/3;width:100%;text-align:center}#commandLine,#commandLineInput{width:400px!important}#leaderboardsWrapper #leaderboards{width:85vw}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(4){display:none}}@media only screen and (max-width: 400px){#top .config{grid-gap:.25rem}#top .config .group .buttons{font-size:.65rem;line-height:.65rem}#bottom{font-size:.65rem}#bottom .leftright{grid-template-columns:1fr 1fr}#bottom .leftright .left{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;grid-auto-flow:row}#bottom .leftright .right{grid-template-rows:1fr 1fr 1fr 1fr;gap:.25rem 1rem}#commandLine,#commandLineInput{width:300px!important}#leaderboardsWrapper #leaderboards .tables .titleAndTable .titleAndButtons{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 9rem)}}@media only screen and (max-width: 350px){.ad.ad-h-s{display:none}.pageLogin .side input{width:90vw}.page404 .content,.page404 .content .image{width:100%}.page404 .content .big{font-size:7rem;line-height:7rem}}@media (hover: none) and (pointer: coarse){#commandLineMobileButton{display:block!important}}\n"] }]
4612
4596
  }], ctorParameters: () => [], propDecorators: { resultEvent: [{
4613
4597
  type: Output
@@ -4681,12 +4665,12 @@ class TgoTypingReplayInputComponent {
4681
4665
  playpauseReplayButtonClick() {
4682
4666
  playpauseReplayButtonClick();
4683
4667
  }
4684
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TgoTypingReplayInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4685
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TgoTypingReplayInputComponent, isStandalone: true, selector: "tgo-typing-replay-input", inputs: { replayExport: "replayExport", funbox: "funbox" }, viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true }, { propertyName: "replayStopwatch", first: true, predicate: ["replayStopwatch"], descendants: true }], ngImport: i0, template: "<div id=\"centerContent\">\n <div id=\"middle\" #middle>\n <div class=\"page pageTest active\">\n <div id=\"result\" tabindex=\"0\">\n <div class=\"bottom\" style=\"grid-column: 1/3\">\n <div id=\"resultReplay\">\n <div class=\"title\">\n Watch replay\n <span\n id=\"playpauseReplayButton\"\n class=\"textButton\"\n aria-label=\"Start replay\"\n data-balloon-pos=\"up\"\n style=\"display: inline-block\"\n (click)=\"playpauseReplayButtonClick()\"\n #toggleButton\n >\n <div id=\"key\" class=\"Play\" #playpauseelem>{{ playpauseelem.className }}</div>\n </span>\n <p id=\"replayStopwatch\" #replayStopwatch>0s</p>\n </div>\n <div id=\"wordsWrapper\">\n <div id=\"replayWords\" class=\"words\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Itim:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Coming+Soon:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lalezar:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;700&display=swap\";@keyframes loader{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}@keyframes caretFlashSmooth{0%,to{opacity:0}50%{opacity:1}}@keyframes caretFlashHard{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes flashKey{0%{color:#f6f6f6;background-color:#888;border-color:#888}to{color:#888;background-color:#f6f6f6;border-color:#888}}@keyframes shake{0%{transform:translate(2px) rotate(0)}50%{transform:translate(-2px) rotate(0)}to{transform:translate(2px) rotate(0)}}@keyframes flashHighlight{0%{background-color:#f6f6f6}10%{background-color:#888}40%{background-color:#888}to{background-color:#f6f6f6}}@keyframes rgb-bg{0%{background:#4cae4c}20%{background:#409eb5}40%{background:#8134f4}60%{background:#f10e19}80%{background:#ffc505}to{background:#4cae4c}}#caret,#caret.outline,#paceCaret.outline{height:1.5rem;background:#dc322f;animation:caretFlashSmooth 1s infinite;position:absolute;border-radius:.5rem;transform-origin:top left}#paceCaret{height:1.5rem;background:#888;opacity:.5;position:absolute;border-radius:.5rem;transform-origin:top left;width:2px}#caret.off,#paceCaret.off{width:0}#caret.default,#paceCaret.default{width:2px}#caret.block,#caret.outline,#paceCaret.block,#paceCaret.outline{width:.7em;border-radius:0;z-index:-1}#caret.outline,#paceCaret.outline{animation-name:none;background:transparent;border:1px solid #dc322f}#caret.block,#caret.outline,#caret.underline,#paceCaret.block,#paceCaret.outline,#paceCaret.underline{margin-left:.1rem}#caret.block.size15,#caret.outline.size15,#caret.underline.size15,#paceCaret.block.size15,#paceCaret.outline.size15,#paceCaret.underline.size15{margin-left:.15rem}#caret.block.size2,#caret.outline.size2,#caret.underline.size2,#paceCaret.block.size2,#paceCaret.outline.size2,#paceCaret.underline.size2{margin-left:.2rem}#caret.block.size3,#caret.outline.size3,#caret.underline.size3,#paceCaret.block.size3,#paceCaret.outline.size3,#paceCaret.underline.size3{margin-left:.25em}#caret.block.size4,#caret.outline.size4,#caret.underline.size4,#paceCaret.block.size4,#paceCaret.outline.size4,#paceCaret.underline.size4{margin-left:.3rem}#caret.underline,#paceCaret.underline{height:2px;width:.8em;margin-top:1.3em}#caret.underline.size125,#paceCaret.underline.size125{margin-top:1.8em}#caret.underline.size15,#paceCaret.underline.size15{margin-top:2.1em}#caret.underline.size2,#paceCaret.underline.size2{margin-top:2.7em}#caret.underline.size3,#paceCaret.underline.size3{margin-top:3.9em}#caret.underline.size4,#paceCaret.underline.size4{margin-top:5em}#caret.size125,#paceCaret.size125{transform:scale(1.25)}#caret.size15,#paceCaret.size15{transform:scale(1.45)}#caret.size2,#paceCaret.size2{transform:scale(1.9)}#caret.size3,#paceCaret.size3{transform:scale(2.8)}#caret.size4,#paceCaret.size4{transform:scale(3.7)}::ng-deep :host{scroll-padding-top:2rem;font-weight:600}::ng-deep ::placeholder{color:#888;opacity:1}::ng-deep #app{display:grid;grid-template-columns:auto minmax(0,1000px) auto;justify-items:center}::ng-deep #app.wide125{grid-template-columns:auto minmax(0,1250px) auto}::ng-deep #app.wide150{grid-template-columns:auto minmax(0,1500px) auto}::ng-deep #app.wide200{grid-template-columns:auto minmax(0,2000px) auto}::ng-deep #app.widemax{grid-template-columns:auto minmax(0,1fr) auto}::ng-deep #nocss{display:none!important;pointer-events:none}::ng-deep .ffscroll,::ng-deep #contactPopupWrapper #contactPopup,#contactPopupWrapper ::ng-deep #contactPopup,::ng-deep #supportMeWrapper #supportMe,#supportMeWrapper ::ng-deep #supportMe,::ng-deep #versionHistoryWrapper #versionHistory,#versionHistoryWrapper ::ng-deep #versionHistory,::ng-deep html{scrollbar-width:thin;scrollbar-color:#888888 transparent}::ng-deep html{overflow-y:scroll}::ng-deep a{display:inline-block;color:#888;transition:.25s}::ng-deep a:hover{color:#181819}::ng-deep a[data-link] *{pointer-events:none}::ng-deep a.button{text-decoration:none}::ng-deep #centerContent{margin:0;padding:0;min-height:300px;font-family:Roboto Mono,Vazirmatn;color:#181819;overflow-x:hidden;border:1px solid #E0E0E0}::ng-deep .customBackground{content:\"\";width:100vw;height:100vh;position:fixed;left:0;top:0;background-position:center center;background-repeat:no-repeat;z-index:-999;justify-content:center;align-items:center;display:flex}::ng-deep #backgroundLoader{height:3px;position:fixed;width:100%;background:#888;animation:loader 2s cubic-bezier(.38,.16,.57,.82) infinite;z-index:9999}::ng-deep label.checkbox span{display:block;font-size:.76rem;color:#888;margin-left:1.5rem}::ng-deep label.checkbox input{margin:0!important;cursor:pointer;width:0;height:0;display:none;-webkit-user-select:none;user-select:none}::ng-deep label.checkbox input~.customTextCheckbox{width:1.25rem;height:1.25rem;background:#e2d8be;border-radius:.25rem;display:inline-grid;margin:0 .5rem 0 0;-webkit-user-select:none;user-select:none;cursor:pointer}::ng-deep label.checkbox input~.customTextCheckbox .check{opacity:0;color:#888;transition:.125s}::ng-deep label.checkbox input:checked~.customTextCheckbox .check{opacity:1}::ng-deep #centerContent{display:grid;grid-auto-flow:row;padding:10rem 2rem 2rem;gap:2rem;align-items:center;z-index:999;grid-template-rows:auto 1fr auto;width:100%;transition:padding-top .125s}::ng-deep #centerContent.wide125{max-width:1250px}::ng-deep #centerContent.wide150{max-width:1500px}::ng-deep #centerContent.wide200{max-width:2000px}::ng-deep #centerContent.widemax{max-width:unset}::ng-deep #key{color:#f6f6f6;background-color:#888;padding:.3rem;margin:0rem .5rem;border-radius:.1rem;display:inline-block;font-size:.7rem;line-height:.7rem}::ng-deep .pageLoading{display:grid;justify-content:center}::ng-deep .pageLoading .preloader,::ng-deep .pageAccount .preloader{text-align:center;justify-self:center;display:grid}::ng-deep .pageLoading .preloader .barWrapper,::ng-deep .pageAccount .preloader .barWrapper{display:grid;gap:1rem;grid-row:1;grid-column:1}::ng-deep .pageLoading .preloader .barWrapper .bar,::ng-deep .pageAccount .preloader .barWrapper .bar{width:20rem;height:.5rem;background:#e2d8be;border-radius:.5rem}::ng-deep .pageLoading .preloader .barWrapper .bar .fill,::ng-deep .pageAccount .preloader .barWrapper .bar .fill{height:100%;width:0%;background:#888;border-radius:.5rem}::ng-deep .pageLoading .preloader .icon,::ng-deep .pageAccount .preloader .icon{grid-row:1;grid-column:1;font-size:2rem;color:#888;margin-bottom:1rem}::ng-deep .devIndicator{position:fixed;font-size:3rem;color:#888;opacity:.25;z-index:-1}::ng-deep .devIndicator.tl{top:2rem;left:2rem}::ng-deep .devIndicator.tr{top:2rem;right:2rem}::ng-deep .devIndicator.bl{bottom:2rem;left:2rem}::ng-deep .devIndicator.br{bottom:2rem;right:2rem}::ng-deep *{box-sizing:border-box}::ng-deep .hidden{display:none!important}::ng-deep .invisible{opacity:0!important;pointer-events:none!important}::ng-deep .button{color:#181819;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;background:#e2d8be;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem}::ng-deep .button.active{background:#888;color:#f6f6f6}::ng-deep .button.active:hover{background:#181819}::ng-deep .button.active:active{background:#888;color:#f6f6f6}::ng-deep .button.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .button.disabled:hover{background:#181819;outline:none}::ng-deep .button.disabled:active{background:#888;color:#f6f6f6}::ng-deep .button:hover{color:#f6f6f6;background:#181819;outline:none}::ng-deep .button:focus{outline:2px solid #181819}::ng-deep .button:active{background:#888;color:#f6f6f6}::ng-deep .textButton{color:#888;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem;width:max-content;width:-moz-max-content;display:grid;grid-auto-flow:column;gap:.25rem;text-decoration:none}::ng-deep .textButton .fas,::ng-deep .textButton .far{display:grid;place-content:center center}::ng-deep .textButton.active{color:#888}::ng-deep .textButton.active:hover{color:#181819}::ng-deep .textButton.active:active{color:#888}::ng-deep .textButton.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .textButton.disabled:hover{background:#181819;outline:none}::ng-deep .textButton.disabled:active{background:#888;color:#f6f6f6}::ng-deep .textButton:hover{color:#181819}::ng-deep .textButton:focus{color:#181819;outline:none}::ng-deep .textButton:active{color:#888}::ng-deep .scrollToTopButton{bottom:2rem;right:2rem;position:fixed;font-size:2rem;width:4rem;height:4rem;text-align:center;line-height:4rem;background:#e2d8be;border-radius:99rem;z-index:99;cursor:pointer;color:#888;transition:.25s}::ng-deep .scrollToTopButton:hover{background:#181819;color:#f6f6f6}::ng-deep .inputAndIndicator{position:relative}::ng-deep .inputAndIndicator input{width:100%}::ng-deep .inputAndIndicator .statusIndicator{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}::ng-deep .inputAndIndicator .statusIndicator .indicator{grid-column:1/2;grid-row:1/2}::ng-deep .inputAndIndicator .statusIndicator .indicator.level-1{color:#d33682}::ng-deep .inputAndIndicator .statusIndicator .indicator.level0{color:#888}::ng-deep .inputAndIndicator .statusIndicator .indicator.level1{color:#888}::ng-deep .configureAPI.button{position:fixed;left:2rem;bottom:2rem;display:grid;grid-auto-flow:column;gap:.5rem;text-decoration:none;z-index:999999999}::ng-deep .avatar{transition:opacity .125s,filter .125s,webkit-filter .125s;width:1.25rem;height:1.25rem;border-radius:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}::ng-deep .badge{background:#888;color:#181819;border-radius:.25rem;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:max-content auto;align-items:baseline}::ng-deep .badge .fas,::ng-deep .badge .far{margin:.15rem .3rem;font-size:.9em}::ng-deep .badge .text{margin-top:.15rem;margin-bottom:.15rem;margin-right:.3rem}input,textarea{outline:none;border:none;border-radius:.5rem;background:#e2d8be;color:#181819;padding:.5rem;font-size:1rem;font-family:Roboto Mono,Vazirmatn;caret-color:#888}textarea{resize:vertical}input[type=range]{-webkit-appearance:none;padding:0;width:100%;height:1rem;border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-webkit-slider-thumb:hover{cursor:grab}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-moz-range-thumb:hover{cursor:grab}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=color]{height:3px;opacity:0;padding:0;margin:0;position:absolute;pointer-events:none}input:disabled,textarea:disabled{opacity:.33}::-moz-color-swatch{border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:none;outline:2px solid #888888;font-family:inherit;-webkit-text-fill-color:#181819;-webkit-box-shadow:0 0 0 1000000px #e2d8be inset;caret-color:#181819}.select2-dropdown{background-color:#f6f6f6;color:#181819;outline:none}.select2-container--default.select2-container--disabled .select2-selection--single{background:#e2d8be!important;opacity:.33;cursor:default;pointer-events:none}.select2-selection{background:#e2d8be;height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#181819;outline:none}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#181819;color:#f6f6f6}.select2-container--default .select2-results__option--selected{background-color:#888;color:#f6f6f6}.select2-container--open .select2-dropdown--below,.select2-container--open .select2-dropdown--above{border-color:#e2d8be;background:#f6f6f6;color:#888;border-radius:.5rem}.select2-container--default .select2-selection--single{color:#181819;background:#e2d8be;outline:none;border:none;height:auto;border-radius:.5rem}.select2-container--default.select2-container--disabled .select2-selection--single{background:#5051517a}.select2-selection:focus{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-selection:active{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:35px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent transparent transparent}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#e2d8be;background:#f6f6f6;color:#181819;border-radius:.5rem}.select2-container--default .select2-results__group{color:#181819}.select2-container--default .select2-selection--multiple{background:#e2d8be;border-radius:.5rem;color:#181819;outline:none;border:none}.select2-selection__choice__display{color:#f6f6f6}.select2-selection__choice__remove{color:#888!important}.select2-container .select2-search--inline .select2-search__field{margin:0;border-radius:0;font-family:Roboto Mono,Vazirmatn;line-height:1rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border:none}.select2-container--default .select2-selection--multiple{border:none;padding:.5rem;font-family:Roboto Mono,Vazirmatn}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#888;border:none;border-radius:.25rem;box-sizing:border-box;display:inline-block;margin-left:0;margin-top:0;margin-right:.5rem;padding:0;padding-left:1.25rem;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:1.5rem;border-right:1px solid #F6F6F6;color:#f6f6f6!important;transition:.125s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#181819}.popupWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:center;padding:2rem 0}#customTextPopupWrapper #customTextPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:60vw}#customTextPopupWrapper #customTextPopup .buttonsTop{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup .savedTexts{display:grid;gap:.5rem}#customTextPopupWrapper #customTextPopup .savedTexts .title{color:#888}#customTextPopupWrapper #customTextPopup .savedTexts .buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup textarea{background:#e2d8be;padding:1rem;color:#888;border:none;outline:none;font-size:1rem;font-family:Roboto Mono,Vazirmatn;width:100%;border-radius:.5rem;resize:vertical;height:200px;color:#181819;overflow-x:hidden;overflow-y:scroll}#customTextPopupWrapper #customTextPopup .inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;justify-items:left}#customTextPopupWrapper #customTextPopup .randomInputFields{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;width:100%;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px;max-height:80vh;overflow:auto}#savedTextsPopupWrapper #savedTextsPopup .title{font-size:1.5rem;color:#888}#savedTextsPopupWrapper #savedTextsPopup .list{display:grid;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText{display:grid;gap:.5rem;grid-template-columns:1fr 3rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText .button .fas{pointer-events:none}#wordFilterPopupWrapper #wordFilterPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#wordFilterPopupWrapper #wordFilterPopup input{width:100%}#wordFilterPopupWrapper #wordFilterPopup .group{display:grid;gap:.5rem}#wordFilterPopupWrapper #wordFilterPopup .lengthgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:1rem}#wordFilterPopupWrapper #wordFilterPopup .tip{color:#888;font-size:.8rem}#wordFilterPopupWrapper #wordFilterPopup .loadingIndicator{justify-self:center}#quoteRatePopupWrapper #quoteRatePopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:2rem;width:800px;display:grid;grid-template-areas:\"warning warning warning\" \"spacer2 spacer2 spacer2\" \"ratingStats ratingStats submitButton\" \"spacer spacer spacer\" \"quote quote quote\";grid-template-columns:auto 1fr;color:#181819}#quoteRatePopupWrapper #quoteRatePopup .warning{grid-area:warning}#quoteRatePopupWrapper #quoteRatePopup .warning span{color:#d33682}#quoteRatePopupWrapper #quoteRatePopup .spacer,#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer;width:100%;height:.1rem;border-radius:.5rem;background:#888;opacity:.25}#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer2}#quoteRatePopupWrapper #quoteRatePopup .submitButton{font-size:2rem;grid-area:submitButton;color:#888}#quoteRatePopupWrapper #quoteRatePopup .submitButton:hover{color:#181819}#quoteRatePopupWrapper #quoteRatePopup .top{color:#888;font-size:.8rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;grid-area:ratingStats}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .top{font-size:1rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .val{font-size:2.25rem}#quoteRatePopupWrapper #quoteRatePopup .quote{display:grid;grid-area:quote;gap:1rem;grid-template-areas:\"text text text\" \"id length source\";grid-template-columns:1fr 1fr 3fr}#quoteRatePopupWrapper #quoteRatePopup .quote .text{grid-area:text}#quoteRatePopupWrapper #quoteRatePopup .quote .id{grid-area:id}#quoteRatePopupWrapper #quoteRatePopup .quote .length{grid-area:length}#quoteRatePopupWrapper #quoteRatePopup .quote .source{grid-area:source}#quoteRatePopupWrapper #quoteRatePopup .stars{display:grid;color:#888;font-size:2rem;grid-template-columns:auto auto auto auto auto;justify-content:flex-start;align-items:center;cursor:pointer}#quoteRatePopupWrapper #quoteRatePopup .star{transition:.125s}#quoteRatePopupWrapper #quoteRatePopup i{pointer-events:none}#quoteRatePopupWrapper #quoteRatePopup .star.active{color:#181819}#simplePopupWrapper #simplePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#simplePopupWrapper #simplePopup .title{font-size:1.5rem;color:#888}#simplePopupWrapper #simplePopup .inputs{display:grid;gap:1rem}#simplePopupWrapper #simplePopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup{background:#f6f6f6;border-radius:.5rem;padding:1rem;display:grid;gap:1rem;width:calc(100vw - 2rem);max-width:400px}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .title{font-size:1.5rem;color:#888}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .inputs{display:grid;gap:1rem}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .group{display:grid;gap:.5rem}#customWordAmountPopupWrapper #customWordAmountPopup,#customWordAmountPopupWrapper #customTestDurationPopup,#customWordAmountPopupWrapper #practiseWordsPopup,#customWordAmountPopupWrapper #pbTablesPopup,#customTestDurationPopupWrapper #customWordAmountPopup,#customTestDurationPopupWrapper #customTestDurationPopup,#customTestDurationPopupWrapper #practiseWordsPopup,#customTestDurationPopupWrapper #pbTablesPopup,#practiseWordsPopupWrapper #customWordAmountPopup,#practiseWordsPopupWrapper #customTestDurationPopup,#practiseWordsPopupWrapper #practiseWordsPopup,#practiseWordsPopupWrapper #pbTablesPopup,#pbTablesPopupWrapper #customWordAmountPopup,#pbTablesPopupWrapper #customTestDurationPopup,#pbTablesPopupWrapper #practiseWordsPopup,#pbTablesPopupWrapper #pbTablesPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#customWordAmountPopupWrapper #customWordAmountPopup .title,#customWordAmountPopupWrapper #customTestDurationPopup .title,#customWordAmountPopupWrapper #practiseWordsPopup .title,#customWordAmountPopupWrapper #pbTablesPopup .title,#customTestDurationPopupWrapper #customWordAmountPopup .title,#customTestDurationPopupWrapper #customTestDurationPopup .title,#customTestDurationPopupWrapper #practiseWordsPopup .title,#customTestDurationPopupWrapper #pbTablesPopup .title,#practiseWordsPopupWrapper #customWordAmountPopup .title,#practiseWordsPopupWrapper #customTestDurationPopup .title,#practiseWordsPopupWrapper #practiseWordsPopup .title,#practiseWordsPopupWrapper #pbTablesPopup .title,#pbTablesPopupWrapper #customWordAmountPopup .title,#pbTablesPopupWrapper #customTestDurationPopup .title,#pbTablesPopupWrapper #practiseWordsPopup .title,#pbTablesPopupWrapper #pbTablesPopup .title{font-size:1.5rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .tip,#customWordAmountPopupWrapper #customTestDurationPopup .tip,#customWordAmountPopupWrapper #practiseWordsPopup .tip,#customWordAmountPopupWrapper #pbTablesPopup .tip,#customTestDurationPopupWrapper #customWordAmountPopup .tip,#customTestDurationPopupWrapper #customTestDurationPopup .tip,#customTestDurationPopupWrapper #practiseWordsPopup .tip,#customTestDurationPopupWrapper #pbTablesPopup .tip,#practiseWordsPopupWrapper #customWordAmountPopup .tip,#practiseWordsPopupWrapper #customTestDurationPopup .tip,#practiseWordsPopupWrapper #practiseWordsPopup .tip,#practiseWordsPopupWrapper #pbTablesPopup .tip,#pbTablesPopupWrapper #customWordAmountPopup .tip,#pbTablesPopupWrapper #customTestDurationPopup .tip,#pbTablesPopupWrapper #practiseWordsPopup .tip,#pbTablesPopupWrapper #pbTablesPopup .tip{font-size:.75rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .text,#customWordAmountPopupWrapper #customTestDurationPopup .text,#customWordAmountPopupWrapper #practiseWordsPopup .text,#customWordAmountPopupWrapper #pbTablesPopup .text,#customTestDurationPopupWrapper #customWordAmountPopup .text,#customTestDurationPopupWrapper #customTestDurationPopup .text,#customTestDurationPopupWrapper #practiseWordsPopup .text,#customTestDurationPopupWrapper #pbTablesPopup .text,#practiseWordsPopupWrapper #customWordAmountPopup .text,#practiseWordsPopupWrapper #customTestDurationPopup .text,#practiseWordsPopupWrapper #practiseWordsPopup .text,#practiseWordsPopupWrapper #pbTablesPopup .text,#pbTablesPopupWrapper #customWordAmountPopup .text,#pbTablesPopupWrapper #customTestDurationPopup .text,#pbTablesPopupWrapper #practiseWordsPopup .text,#pbTablesPopupWrapper #pbTablesPopup .text{font-size:1rem;color:#181819}#customWordAmountPopupWrapper #customTestDurationPopup .preview,#customTestDurationPopupWrapper #customTestDurationPopup .preview,#practiseWordsPopupWrapper #customTestDurationPopup .preview,#pbTablesPopupWrapper #customTestDurationPopup .preview{font-size:.75rem;color:#888}#googleSignUpPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#googleSignUpPopup .title{font-size:1.5rem;color:#888}#googleSignUpPopup .inputAndIndicator{position:relative}#googleSignUpPopup .inputAndIndicator input{width:100%}#googleSignUpPopup .inputAndIndicator .checkStatus{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available,#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{grid-column:1/2;grid-row:1/2}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available{color:#888}#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{color:#d33682}#shareTestSettingsPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:500px}#shareTestSettingsPopup .title{font-size:1.5rem;color:#888}#shareTestSettingsPopup .subgroup{padding-left:2rem}#shareTestSettingsPopup .tooLongWarning{font-size:.75rem;color:#d33682}#cookiePopupWrapper .extensionMessage{position:fixed;right:2rem;bottom:2rem;padding:1rem;width:465px;font-size:.75rem}#cookiePopupWrapper #cookiePopup{position:fixed;right:2rem;bottom:2rem;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:465px;z-index:100000001;-webkit-user-select:none;user-select:none}#cookiePopupWrapper #cookiePopup .main{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .title{font-size:1.5rem;color:#888}#cookiePopupWrapper #cookiePopup .buttons{margin-top:.25rem;display:grid;grid-auto-flow:column;gap:1rem;grid-template-columns:1fr 2.25rem}#cookiePopupWrapper #cookiePopup .settings{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .settings .customTextCheckbox{background:#888}#cookiePopupWrapper #cookiePopup .settings .cookie label{display:grid;gap:0 1rem;grid-template-columns:1fr min-content;grid-template-areas:\"title check\" \"description check\"}#cookiePopupWrapper #cookiePopup .settings .cookie label .title{grid-area:title;font-size:1.25rem}#cookiePopupWrapper #cookiePopup .settings .cookie label .description{grid-area:description}#cookiePopupWrapper #cookiePopup .settings .cookie label .customTextCheckbox{place-self:center;grid-area:check}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label{grid-template-columns:1fr;grid-template-areas:\"title\" \"description\"}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label a{margin-top:.25rem}#videoAdPopupWrapper{display:flex;padding:2rem}#videoAdPopupWrapper #videoAdPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:1rem;width:100%;max-width:1000px;aspect-ratio:16/9;display:grid;grid-template-areas:\"middle\"}#videoAdPopupWrapper #videoAdPopup .preloader{grid-area:middle;display:grid;place-items:center center;gap:1rem;font-size:2rem;color:#888;height:max-content;align-self:center}#videoAdPopupWrapper #videoAdPopup .video{grid-area:middle}#pbTablesPopupWrapper #pbTablesPopup{min-width:50rem;max-height:calc(100vh - 10rem);overflow-y:scroll}#pbTablesPopupWrapper #pbTablesPopup .title{color:#181819}#pbTablesPopupWrapper #pbTablesPopup table{border-spacing:0;border-collapse:collapse;color:#181819}#pbTablesPopupWrapper #pbTablesPopup table td{padding:.5rem}#pbTablesPopupWrapper #pbTablesPopup table thead{color:#888;font-size:.75rem}#pbTablesPopupWrapper #pbTablesPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#pbTablesPopupWrapper #pbTablesPopup table td.infoIcons span{margin:0 .1rem}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton{opacity:.25;transition:.25s;cursor:pointer}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton:hover{opacity:1}#pbTablesPopupWrapper #pbTablesPopup table .sub{opacity:.5}#pbTablesPopupWrapper #pbTablesPopup table td{text-align:right}#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(6),#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(7){text-align:center}#pbTablesPopupWrapper #pbTablesPopup table tbody td:nth-child(1){font-size:1.5rem}#customThemeShareWrapper #customThemeShare{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSearchPopupWrapper .highlight{color:#888}#quoteSearchPopupWrapper #quoteSearchPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:80vw;max-width:1000px;height:80vh;grid-template-rows:auto auto auto 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop{display:flex;justify-content:space-between}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .title{font-size:1.5rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons{width:33%;display:grid;gap:.5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons .button{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{display:grid;grid-template-columns:1.5fr 1fr max-content;gap:1rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #searchBox{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #toggleShowFavorites{height:100%;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem}#quoteSearchPopupWrapper #quoteSearchPopup #extraResults{text-align:center;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults{display:grid;gap:.5rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult{display:grid;grid-template-columns:1fr 1fr 3fr 0fr 0fr;grid-template-areas:\"text text text text text\" \"id len source report favorite\";grid-auto-rows:auto;width:100%;gap:.5rem;transition:.25s;padding:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;height:min-content}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .text{grid-area:text;overflow:visible;color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .id{grid-area:id;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .length{grid-area:len;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .source{grid-area:source;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .resultChevron{grid-area:chevron;display:flex;align-items:center;justify-items:center;color:#888;font-size:2rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report{grid-area:report;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite{grid-area:favorite;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .sub{opacity:.5}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult:hover{background:#e2d8be;border-radius:5px}#settingsImportWrapper #settingsImport{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSubmitPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:100%;max-height:40rem;overflow-y:scroll}#quoteSubmitPopup label{color:#888;margin-bottom:-1rem}#quoteSubmitPopup .title{font-size:1.5rem;color:#888}#quoteSubmitPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteSubmitPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteSubmitPopup .characterCount.red{color:#d33682}#apeKeysPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;width:1000px;max-width:calc(100vw - 4rem);min-height:18rem;overflow-y:scroll;grid-template-rows:max-content auto;align-items:baseline;gap:1rem}#apeKeysPopup .top{display:grid;grid-template-columns:1fr auto}#apeKeysPopup .top .title{font-size:1.5rem;color:#888}#apeKeysPopup .top .button{padding:.4rem 2rem}#apeKeysPopup .textButton{justify-content:center}#apeKeysPopup .keyButtons{display:grid;grid-auto-flow:column;gap:1rem}#apeKeysPopup .keyButtons .button{width:3rem}#apeKeysPopup table{width:100%;border-spacing:0;border-collapse:collapse}#apeKeysPopup table tr td:first-child{text-align:center}#apeKeysPopup table tr.me td{color:#888}#apeKeysPopup table td{padding:.5rem}#apeKeysPopup table thead{color:#888;font-size:.75rem}#apeKeysPopup table thead td{padding:.5rem;background:#f6f6f6;position:-webkit-sticky;position:sticky;top:0;z-index:99}#apeKeysPopup table tbody{color:#181819}#apeKeysPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#apeKeysPopup table tfoot td{padding:1rem .5rem;position:-webkit-sticky;position:sticky;bottom:-5px;background:#f6f6f6;color:#888;z-index:4}#apeKeysPopup table tr td:first-child{padding-left:1rem}#apeKeysPopup table tr td:last-child{padding-right:1rem}#quoteApprovePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;height:80vh;grid-template-rows:auto 1fr}#quoteApprovePopup .top{display:flex;justify-content:space-between}#quoteApprovePopup .top .title{font-size:1.5rem;color:#888}#quoteApprovePopup .top .button{width:33%}#quoteApprovePopup .quotes{display:grid;gap:1rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteApprovePopup .quotes .quote{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto 2rem;width:100%;gap:1rem;transition:.25s;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:min-content;margin-bottom:1rem}#quoteApprovePopup .quotes .quote .text{grid-column:1/2;grid-row:1/2;overflow:visible;color:#181819;resize:vertical;min-height:4rem}#quoteApprovePopup .quotes .quote .source{grid-column:1/2;grid-row:2/3;color:#181819}#quoteApprovePopup .quotes .quote .buttons{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;grid-column:2/3;grid-row:1/4;color:#888}#quoteApprovePopup .quotes .quote .bottom{display:flex;justify-content:space-around;color:#888}#quoteApprovePopup .quotes .quote .bottom .length.red{color:#d33682}#quoteApprovePopup .quotes .quote .sub{opacity:.5}#quoteApprovePopup .quotes .searchResult:hover{background:#e2d8be;border-radius:5px}#quoteReportPopupWrapper #quoteReportPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:auto;max-height:40rem;overflow-y:scroll;width:calc(100% - 4rem);margin-left:2rem;max-width:800px}#quoteReportPopupWrapper #quoteReportPopup label{color:#888;margin-bottom:-1rem}#quoteReportPopupWrapper #quoteReportPopup .quote{font-size:1.5rem}#quoteReportPopupWrapper #quoteReportPopup .title{font-size:1.5rem;color:#888}#quoteReportPopupWrapper #quoteReportPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteReportPopupWrapper #quoteReportPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteReportPopupWrapper #quoteReportPopup .characterCount.red{color:#d33682}#resultEditTagsPanelWrapper #resultEditTagsPanel{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll;width:500px}#resultEditTagsPanelWrapper #resultEditTagsPanel .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}#versionHistoryWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:start;padding:5rem 0}#versionHistoryWrapper #versionHistory{width:75vw;height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#versionHistoryWrapper #versionHistory .tip{text-align:center;color:#888}#versionHistoryWrapper #versionHistory .releases{display:grid;gap:4rem}#versionHistoryWrapper #versionHistory .releases .release{display:grid;grid-template-areas:\"title date\" \"body body\"}#versionHistoryWrapper #versionHistory .releases .release .title{grid-area:title;font-size:2rem;color:#888}#versionHistoryWrapper #versionHistory .releases .release .date{grid-area:date;text-align:right;color:#888;align-self:center}#versionHistoryWrapper #versionHistory .releases .release .body{grid-area:body;color:#181819}#versionHistoryWrapper #versionHistory .releases .release:last-child{margin-bottom:2rem}#supportMeWrapper #supportMe{width:900px;overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem}#supportMeWrapper #supportMe .title{font-size:1.5rem;color:#888}#supportMeWrapper #supportMe .text{color:#181819}#supportMeWrapper #supportMe .subtext{color:#888;font-size:.75rem}#supportMeWrapper #supportMe .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#supportMeWrapper #supportMe .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;gap:1rem;text-decoration:none}#supportMeWrapper #supportMe .buttons .button .text{transition:.25s}#supportMeWrapper #supportMe .buttons .button:hover .text{color:#f6f6f6}#supportMeWrapper #supportMe .buttons .button .icon{font-size:3rem;line-height:3rem}#contactPopupWrapper #contactPopup{overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem;margin:0 2rem;max-width:900px}#contactPopupWrapper #contactPopup .title{font-size:1.5rem;line-height:2rem;color:#888}#contactPopupWrapper #contactPopup .text{color:#181819}#contactPopupWrapper #contactPopup .text span{color:#d33682}#contactPopupWrapper #contactPopup .subtext{color:#888;font-size:.75rem;grid-area:subtext}#contactPopupWrapper #contactPopup .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr}#contactPopupWrapper #contactPopup .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;text-decoration:none;grid-template-areas:\"icon textgroup\";grid-template-columns:auto 1fr;text-align:left;align-items:center}#contactPopupWrapper #contactPopup .buttons .button .textGroup{grid-area:textgroup}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1.5rem;line-height:2rem;transition:.25s}#contactPopupWrapper #contactPopup .buttons .button:hover .text{color:#f6f6f6}#contactPopupWrapper #contactPopup .buttons .button .icon{grid-area:icon;font-size:2rem;line-height:2rem;padding:0 1rem}#presetWrapper #presetEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#presetWrapper #presetEdit .title{font-size:1.5rem;color:#888}#tagsWrapper #tagsEdit,#tagsWrapper #newResultFilterPresetPopup,#tagsWrapper #editProfilePopup,#newResultFilterPresetPopupWrapper #tagsEdit,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup,#newResultFilterPresetPopupWrapper #editProfilePopup,#editProfilePopupWrapper #tagsEdit,#editProfilePopupWrapper #newResultFilterPresetPopup,#editProfilePopupWrapper #editProfilePopup{max-height:90vh;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#tagsWrapper #tagsEdit .title,#tagsWrapper #newResultFilterPresetPopup .title,#tagsWrapper #editProfilePopup .title,#newResultFilterPresetPopupWrapper #tagsEdit .title,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup .title,#newResultFilterPresetPopupWrapper #editProfilePopup .title,#editProfilePopupWrapper #tagsEdit .title,#editProfilePopupWrapper #newResultFilterPresetPopup .title,#editProfilePopupWrapper #editProfilePopup .title{font-size:1.5rem;color:#888}#editProfilePopup{width:100%;max-width:600px}#editProfilePopup label{color:#888}#editProfilePopup input{width:100%}#editProfilePopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem;max-height:10rem}#editProfilePopup .socialURL{display:flex}#editProfilePopup .socialURL>p{margin-block:.5rem;margin-inline-end:.5rem}#editProfilePopup .badgeSelectionContainer{display:flex;flex-wrap:wrap}#editProfilePopup .badgeSelectionItem{width:max-content;opacity:25%;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem}#editProfilePopup .badgeSelectionItem.selected,#editProfilePopup .badgeSelectionItem:hover{opacity:100%}#customThemesWrapper #customThemesEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}::ng-deep #timerWrapper{opacity:0;transition:.25s;z-index:-1;position:relative;z-index:99}::ng-deep #timerWrapper #timer{position:fixed;top:0;left:0;width:100vw;height:.5rem;background:#000;z-index:-1}::ng-deep #timerWrapper #timer.timerMain{background:#888}::ng-deep #timerWrapper #timer.timerSub{background:#888}::ng-deep #timerWrapper #timer.timerText{background:#181819}::ng-deep .pageTest{position:relative}::ng-deep .pageTest .ssWatermark{font-size:1.25rem;color:#888;line-height:1rem;text-align:right}::ng-deep .pageTest #timerNumber{pointer-events:none;transition:.25s;color:#000;line-height:0;z-index:-1;text-align:center;left:0;width:100%;position:relative;font-size:10rem;opacity:0;width:0;height:0;margin:0 auto;display:grid;justify-content:center;bottom:6rem;transition:none}::ng-deep .pageTest #largeLiveWpmAndAcc{font-size:10rem;color:#000;width:100%;left:0;text-align:center;z-index:-1;height:0;line-height:0;top:5rem;position:relative;display:grid;grid-auto-flow:column;justify-content:center;gap:5rem;width:0;margin:0 auto}::ng-deep .pageTest #largeLiveWpmAndAcc #liveWpm{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveAcc{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveBurst{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc.timerMain,::ng-deep .pageTest #timerNumber.timerMain{color:#888}::ng-deep .pageTest #timer.timerMain{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerSub,::ng-deep .pageTest #timerNumber.timerSub{color:#888}::ng-deep .pageTest #timer.timerSub{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerText,::ng-deep .pageTest #timerNumber.timerText{color:#181819}::ng-deep .pageTest #timer.timerText{background:#181819}::ng-deep #words,::ng-deep .words{height:fit-content;height:-moz-fit-content;display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none;padding-bottom:1em}::ng-deep #words .newline,::ng-deep .words .newline{width:inherit}::ng-deep #words letter,::ng-deep .words letter{border-bottom-style:solid;border-bottom-width:.05em;border-bottom-color:transparent}::ng-deep #words letter.dead,::ng-deep .words letter.dead{border-bottom-width:.05em;border-bottom-color:#888}::ng-deep #words letter.tabChar,::ng-deep #words letter.nlChar,::ng-deep .words letter.tabChar,::ng-deep .words letter.nlChar{margin:0 .25rem;opacity:.2}::ng-deep #words.rightToLeftTest,::ng-deep .words.rightToLeftTest{direction:rtl}::ng-deep #words.rightToLeftTest .word,::ng-deep .words.rightToLeftTest .word{direction:rtl}::ng-deep #words.withLigatures letter,::ng-deep .words.withLigatures letter{display:inline}::ng-deep #words.blurred,::ng-deep .words.blurred{opacity:.25;filter:blur(4px);-webkit-filter:blur(4px)}::ng-deep #words.flipped .word,::ng-deep .words.flipped .word{color:#181819}::ng-deep #words.flipped .word letter.dead,::ng-deep .words.flipped .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped .word letter.correct,::ng-deep .words.flipped .word letter.correct{color:#888}::ng-deep #words.flipped .word letter.corrected,::ng-deep .words.flipped .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped .word letter.extraCorrected,::ng-deep .words.flipped .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.colorfulMode .word letter.dead,::ng-deep .words.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.colorfulMode .word letter.correct,::ng-deep .words.colorfulMode .word letter.correct{color:#888}::ng-deep #words.colorfulMode .word letter.corrected,::ng-deep .words.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.extraCorrected,::ng-deep .words.colorfulMode .word letter.extraCorrected{border-right:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.incorrect,::ng-deep .words.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.colorfulMode .word letter.incorrect.extra,::ng-deep .words.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.flipped.colorfulMode .word,::ng-deep .words.flipped.colorfulMode .word{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.dead,::ng-deep .words.flipped.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped.colorfulMode .word letter.correct,::ng-deep .words.flipped.colorfulMode .word letter.correct{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.corrected,::ng-deep .words.flipped.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.extraCorrected,::ng-deep .words.flipped.colorfulMode .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.incorrect,::ng-deep .words.flipped.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.flipped.colorfulMode .word letter.incorrect.extra,::ng-deep .words.flipped.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.tape.size125 .word,::ng-deep .words.tape.size125 .word{margin:.31rem .62rem .31rem 0}::ng-deep #words.tape.size15 .word,::ng-deep .words.tape.size15 .word{margin:.37rem .74rem .37rem 0}::ng-deep #words.tape.size2 .word,::ng-deep .words.tape.size2 .word{margin:.5rem 1rem .5rem 0}::ng-deep #words.tape.size3 .word,::ng-deep .words.tape.size3 .word{margin:.75rem 1.5rem .75rem 0}::ng-deep #words.tape.size4 .word,::ng-deep .words.tape.size4 .word{margin:1rem 2rem 1rem 0}::ng-deep #words.tape.indicateTyposBelow.size125 .word,::ng-deep .words.tape.indicateTyposBelow.size125 .word{margin:.31rem .62rem .93rem 0}::ng-deep #words.tape.indicateTyposBelow.size15 .word,::ng-deep .words.tape.indicateTyposBelow.size15 .word{margin:.37rem .74rem 1.11rem 0}::ng-deep #words.tape.indicateTyposBelow.size2 .word,::ng-deep .words.tape.indicateTyposBelow.size2 .word{margin:.5rem 1rem 1.5rem 0}::ng-deep #words.tape.indicateTyposBelow.size3 .word,::ng-deep .words.tape.indicateTyposBelow.size3 .word{margin:.75rem 1.5rem 2.25rem 0}::ng-deep #words.tape.indicateTyposBelow.size4 .word,::ng-deep .words.tape.indicateTyposBelow.size4 .word{margin:1rem 2rem 3rem 0}::ng-deep .word{margin:.25rem;color:#888;font-variant:no-common-ligatures;border-bottom:2px solid transparent;line-height:1rem}::ng-deep .word letter{display:inline-block}::ng-deep .word.lastbeforenewline:after{font-family:\"Font Awesome 5 Free\";font-weight:600;content:\"\\f107\";margin-left:.5rem;opacity:.25}::ng-deep .word .wordInputAfter{opacity:1;position:absolute;background:#888;color:#f6f6f6;padding:.5rem;margin-left:-.5rem;border-radius:.5rem;transition:.25s;text-shadow:none;top:-.5rem;z-index:10;cursor:text}::ng-deep .word .wordInputAfter .speed{font-size:.75rem}::ng-deep #words.size125 .word{line-height:1.25rem;font-size:max(1.25rem,24px);margin:.31rem}::ng-deep #words.size15 .word{line-height:1.5rem;font-size:max(1.5rem,24px);margin:.37rem}::ng-deep #words.size2 .word{line-height:2rem;font-size:max(2rem,24px);margin:.5rem}::ng-deep #words.size3 .word{line-height:3rem;font-size:max(3rem,24px);margin:.75rem}::ng-deep #words.size4 .word{line-height:4rem;font-size:max(4rem,24px);margin:1rem}::ng-deep #words.nospace .word{margin:.5rem 0}::ng-deep #words.arrows .word{margin:.5rem 0}::ng-deep #words.arrows .word letter{margin:0 .25rem}::ng-deep .word.error{border-bottom:2px solid #d33682;text-shadow:1px 0px 0px #F6F6F6,-1px 0px 0px #F6F6F6,0px 1px 0px #F6F6F6,1px 1px 0px #F6F6F6,-1px 1px 0px #F6F6F6}::ng-deep #words.noErrorBorder .word.error,::ng-deep #resultWordsHistory.noErrorBorder .word.error{text-shadow:none}::ng-deep .word letter.correct{color:#181819}::ng-deep .word letter.corrected{color:#181819;border-bottom:2px dotted #888888}::ng-deep .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep .word letter.incorrect{color:#d33682;position:relative}::ng-deep .word letter.incorrect hint{position:absolute;bottom:-1em;color:#181819;line-height:initial;font-size:.75em;text-shadow:none;padding:1px;left:0;opacity:.5;text-align:center;width:100%;display:grid;justify-content:center}::ng-deep .word letter.incorrect.extra{color:#9b225c}::ng-deep .word letter.missing{opacity:.5}::ng-deep #words.flipped.colorfulMode .word.error,::ng-deep #words.colorfulMode .word.error{border-bottom:2px solid #d33682}::ng-deep #wordsInput{opacity:0;padding:0;margin:0;border:none;outline:none;display:block;resize:none;position:fixed;z-index:-1;cursor:default;pointer-events:none}::ng-deep #capsWarning{background:#888;color:#f6f6f6;display:table;position:absolute;left:50%;transform:translate(-50%) translateY(-50%);padding:1rem;border-radius:.5rem;transition:.125s;z-index:999;pointer-events:none;top:-2.5rem}::ng-deep #capsWarning i{margin-right:.5rem}::ng-deep #result{display:grid;gap:1rem;align-items:center;grid-template-columns:auto 1fr;grid-template-areas:\"stats chart\" \"morestats morestats\"}::ng-deep #result:focus{outline:none}::ng-deep #result .buttons{display:grid;grid-auto-flow:column;gap:1rem;justify-content:center;grid-column:1/3}::ng-deep #result .ssWatermark{grid-column:1/3}::ng-deep #result #resultWordsHistory,::ng-deep #result #resultReplay{color:#888;margin-bottom:1rem}::ng-deep #result #resultWordsHistory .textButton,::ng-deep #result #resultReplay .textButton{padding:0;margin-left:.5rem}::ng-deep #result #resultWordsHistory .heatmapLegend,::ng-deep #result #resultReplay .heatmapLegend{margin-left:.5rem;display:inline-grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.75rem;color:#888;width:min-content}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes,::ng-deep #result #resultReplay .heatmapLegend .boxes{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box,::ng-deep #result #resultReplay .heatmapLegend .boxes .box{height:1rem;color:#f6f6f6;padding:.1rem .5rem;white-space:nowrap;line-height:.75rem;display:grid;place-content:center center}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(1),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(1){background:#d33682;border-radius:.5rem 0 0 .5rem}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(2),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(2){background:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(3),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(3){background:#888}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(4),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(4){background:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(5),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(5){background:#888;border-radius:0 .5rem .5rem 0}::ng-deep #result #resultWordsHistory .title,::ng-deep #result #resultReplay .title{-webkit-user-select:none;user-select:none;margin-bottom:.25rem}::ng-deep #result #resultWordsHistory .words,::ng-deep #result #resultReplay .words{display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none}::ng-deep #result #resultWordsHistory .words .word,::ng-deep #result #resultReplay .words .word{position:relative;margin:.18rem .6rem .15rem 0}::ng-deep #result #resultWordsHistory .words .word letter.correct,::ng-deep #result #resultReplay .words .word letter.correct{color:#181819}::ng-deep #result #resultWordsHistory .words .word letter.incorrect,::ng-deep #result #resultReplay .words .word letter.incorrect{color:#d33682}::ng-deep #result #resultWordsHistory .words .word letter.incorrect.extra,::ng-deep #result #resultReplay .words .word letter.incorrect.extra{color:#9b225c}::ng-deep #result #resultWordsHistory .words .word.heatmap0 letter,::ng-deep #result #resultReplay .words .word.heatmap0 letter{color:#d33682}::ng-deep #result #resultWordsHistory .words .word.heatmap1 letter,::ng-deep #result #resultReplay .words .word.heatmap1 letter{color:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap2 letter,::ng-deep #result #resultReplay .words .word.heatmap2 letter{color:#888}::ng-deep #result #resultWordsHistory .words .word.heatmap3 letter,::ng-deep #result #resultReplay .words .word.heatmap3 letter{color:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap4 letter,::ng-deep #result #resultReplay .words .word.heatmap4 letter{color:#888}::ng-deep #result #resultWordsHistory .words.rightToLeftTest,::ng-deep #result #resultReplay .words.rightToLeftTest{direction:rtl}::ng-deep #result #resultWordsHistory .words.rightToLeftTest .word,::ng-deep #result #resultReplay .words.rightToLeftTest .word{direction:rtl}::ng-deep #result #resultWordsHistory .words.withLigatures letter,::ng-deep #result #resultReplay .words.withLigatures letter{display:inline}::ng-deep #result .chart{grid-area:chart;width:100%;max-height:200px;height:200px}::ng-deep #result .chart canvas{width:100%!important;height:100%}::ng-deep #result .chart .title{color:#888;margin-bottom:1rem}::ng-deep #result .loginTip{grid-column:1/3;text-align:center;color:#888}::ng-deep #result .loginTip .link{text-decoration:underline;display:inline-block;cursor:pointer}::ng-deep #result .stats{grid-area:stats;display:grid;gap:.5rem;justify-content:center;align-items:center;grid-template-areas:\"wpm\" \"acc\"}::ng-deep #result .stats.morestats{display:grid;grid-auto-flow:column;grid-template-areas:none;align-items:flex-start;justify-content:space-between;column-gap:2rem;grid-area:morestats}::ng-deep #result .stats.morestats .subgroup{display:grid;gap:.5rem}::ng-deep #result .stats .group .top{color:#888;font-size:1rem;line-height:1rem;margin-bottom:.25rem}::ng-deep #result .stats .group .bottom{color:#888;font-size:2rem;line-height:2rem}::ng-deep #result .stats .group.time .afk,::ng-deep #result .stats .group.time .timeToday{color:#888;font-size:.75rem;line-height:.75rem;margin-left:.2rem}::ng-deep #result .stats .group.source #rateQuoteButton,::ng-deep #result .stats .group.source #reportQuoteButton,::ng-deep #result .stats .group.source #favoriteQuoteButton{padding:0 .25rem}::ng-deep #result .stats .group.source #rateQuoteButton{display:inline-grid;gap:.25rem}::ng-deep #result .stats .info .top,::ng-deep #result .stats .tags .top,::ng-deep #result .stats .source .top{font-size:1rem;line-height:1rem}::ng-deep #result .stats .info .bottom,::ng-deep #result .stats .tags .bottom,::ng-deep #result .stats .source .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .source{max-width:30rem}::ng-deep #result .stats .tags .bottom .fas{margin-left:.5rem}::ng-deep #result .stats .wpm{grid-area:wpm}::ng-deep #result .stats .wpm .top{font-size:2rem;line-height:1.5rem;display:flex}::ng-deep #result .stats .wpm .top .crown{margin-left:.5rem;margin-top:-.2rem;font-size:.7rem;line-height:1.7rem;background:#888;color:#f6f6f6;border-radius:.6rem;text-align:center;align-self:center;width:1.7rem;height:1.7rem}::ng-deep #result .stats .wpm .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .testType .bottom,::ng-deep #result .stats .leaderboards .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .testType .bottom .lbChange .fas,::ng-deep #result .stats .leaderboards .bottom .lbChange .fas{margin-right:.15rem}::ng-deep #result .stats .acc{grid-area:acc}::ng-deep #result .stats .acc .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .acc .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .burst{grid-area:burst}::ng-deep #result .stats .burst .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .burst .bottom{font-size:4rem;line-height:4rem}::ng-deep #restartTestButton,::ng-deep #showWordHistoryButton,::ng-deep #saveScreenshotButton,::ng-deep #restartTestButtonWithSameWordset,::ng-deep #nextTestButton,::ng-deep #practiseWordsButton,::ng-deep #watchReplayButton,::ng-deep #watchVideoAdButton{position:relative;border-radius:.5rem;padding:1rem 2rem;width:min-content;width:-moz-min-content;color:#888;transition:.125s;cursor:pointer}::ng-deep #restartTestButton:hover,::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:hover,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:hover,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:hover,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:hover,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:hover,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:hover,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:hover,::ng-deep #watchVideoAdButton:focus{color:#181819;outline:none}::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:focus{background:#181819;color:#f6f6f6}::ng-deep #retrySavingResultButton{position:relative;border-radius:.5rem;padding:1rem 2rem;color:#d33682;transition:.25s;cursor:pointer;width:max-content;width:-moz-max-content;background:#d33682;color:#f6f6f6;justify-self:center;justify-content:center;margin:0 auto 1rem;-webkit-user-select:none;user-select:none}::ng-deep #retrySavingResultButton:hover,::ng-deep #retrySavingResultButton:focus{background:#181819;outline:none}::ng-deep #retrySavingResultButton:focus{background:#181819}::ng-deep #showWordHistoryButton{opacity:1}::ng-deep #replayWords{cursor:pointer}::ng-deep #replayStopwatch{color:#888;display:inline-block;margin:0 0 0 .5em}::ng-deep #restartTestButton{margin:0 auto;margin-top:1rem}::ng-deep .pageTest #wordsWrapper{position:relative}::ng-deep .pageTest #wordsWrapper.tape{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 1%,rgb(0,0,0) 10%,rgb(0,0,0) 90%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(90deg,#0000 1%,#000 10% 90%,#0000 99%)}::ng-deep .pageTest #memoryTimer{background:#888;color:#f6f6f6;padding:1rem;border-radius:.5rem;text-align:center;width:max-content;left:50%;position:absolute;transform:translate(-50%);top:-6rem;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0}::ng-deep .pageTest .outOfFocusWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .pageTest .errorWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:auto;user-select:auto}::ng-deep .pageTest #testModesNotice{display:flex;flex-wrap:wrap;color:#888;text-align:center;margin-bottom:.5rem;transition:.125s;justify-content:center;-webkit-user-select:none;user-select:none}::ng-deep .pageTest #testModesNotice .textButton{margin:0 .5rem}::ng-deep .pageTest #testModesNotice .fas{margin-right:.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm{height:0;margin-left:.37rem;display:flex;font-size:1rem;line-height:1.13rem;margin-top:-1.5rem;position:absolute;color:#000;font-weight:700}::ng-deep .pageTest #miniTimerAndLiveWpm .time{margin-right:2rem;margin-top:-2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc{margin-right:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .time,::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc,::ng-deep .pageTest #miniTimerAndLiveWpm .burst{opacity:0}::ng-deep .pageTest #miniTimerAndLiveWpm.timerMain{color:#00000080}::ng-deep .pageTest #miniTimerAndLiveWpm.timerSub{color:#888}::ng-deep .pageTest #miniTimerAndLiveWpm.timerText{color:#181819}::ng-deep .pageTest #miniTimerAndLiveWpm.size125{margin-top:-1.75rem;font-size:1.38rem;line-height:1.25rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size15{margin-top:-2rem;font-size:1.63rem;line-height:1.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size2{margin-top:-2.5rem;font-size:2.13rem;line-height:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size3{margin-top:-3.5rem;font-size:3.13rem;line-height:3rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size4{margin-top:-4.5rem;font-size:4.13rem;line-height:4rem}::ng-deep #middle.focus .pageTest #testModesNotice{opacity:0!important}@media only screen and (max-width: 1330px){.ad.ad-v{display:none}#app{grid-template-columns:auto}}@media only screen and (max-width: 1250px){#leaderboardsWrapper #leaderboards .mainTitle{font-size:2rem}#leaderboardsWrapper #leaderboards .title{font-size:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop{grid-template-columns:auto 1fr max-content}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row;gap:.5rem}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:none}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem .5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr 1fr max-content}}@media only screen and (max-width: 1050px){.profile .pbsWords,.profile .pbsTime{font-size:.8rem}.profile .details.bioAndKey .bioAndKeyboard .value{font-size:.75rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr}#result .morestats{gap:1rem;grid-template-rows:1fr 1fr}#supportMe{width:90vw!important}#supportMe .buttons .button .icon{font-size:3rem!important;line-height:3rem!important}#customTextPopup{width:80vw!important}#customTextPopup .wordfilter.button{width:50%!important}}@media only screen and (max-width: 1000px){#quoteRatePopup{width:90vw!important}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr;grid-auto-flow:row;grid-template-columns:auto auto auto auto}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr;gap:.25rem 1rem}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(5){display:none}}@media only screen and (max-width: 900px){.ad.ad-h{display:none}.ad.ad-h-s{display:grid}.profile .pbsWords,.profile .pbsTime{font-size:1rem}.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.soc{grid-template-columns:1.25fr auto 1fr auto auto}.profile .details.soc .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-columns:1.25fr auto auto auto 1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-columns:1.25fr auto 1.25fr auto;grid-template-areas:\"avAndName sep2 bioAndKey bioAndKey\" \"typingStats typingStats typingStats socials\"}.profile .details.both .sep1,.profile .details.both .sep3{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr;width:100%}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}.profile .details.none{grid-template-columns:1fr auto 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}#leaderboards .mainTitle{font-size:1.5rem!important}#bannerCenter .banner .container{grid-template-columns:1fr auto}#bannerCenter .banner .container .image,#bannerCenter .banner .container .lefticon,#bannerCenter .banner .container .righticon{display:none}#bannerCenter .banner .container .text{margin-left:1.5rem;text-align:left;justify-self:start}.merchBanner img{display:none}.merchBanner .text{padding:.25rem 0}.pageSettings .section.autoSwitchThemeInputs{grid-template-columns:1fr 3fr}.pageAccount .group.personalBestTables .tables{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(1),.pageAccount .group.history table thead td:nth-child(8),.pageAccount .group.history table thead td:nth-child(9),.pageAccount .group.history table tbody td:nth-child(1),.pageAccount .group.history table tbody td:nth-child(8),.pageAccount .group.history table tbody td:nth-child(9){display:none}}@media only screen and (max-width: 800px){.pageSettings .settingsGroup.quickNav .links{grid-auto-flow:unset;grid-template-columns:1fr 1fr 1fr;justify-items:center}#centerContent #top{grid-template-areas:\"logo config\" \"menu config\";grid-template-columns:auto auto}#centerContent #top .logo{margin-bottom:0}#centerContent #menu{gap:.5rem;font-size:.8rem;line-height:.8rem;margin-top:-.5rem}#centerContent #menu .textButton{padding:.25rem}#contactPopupWrapper #contactPopup .buttons{grid-template-columns:1fr}.pageAbout .section .contributors,.pageAbout .section .supporters{grid-template-columns:1fr 1fr 1fr}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons{grid-template-columns:1fr 1fr}.pageSettings .section.customBackgroundFilter .groups{grid-template-columns:1fr}.pageSettings .section.customBackgroundFilter .saveContainer{grid-column:-1/-2}#commandLine,#commandLineInput{width:600px!important}#leaderboardsWrapper #leaderboards .leaderboardsTop{flex-direction:column;align-items:baseline;grid-template-areas:\"title title\" \"subtitle subtitle\" \"yesterday yesterday\" \"buttons buttons\";grid-template-columns:1fr}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttons{margin-top:.5rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:column}#leaderboardsWrapper #leaderboards .leaderboardsTop .showYesterdayButton{margin-left:0}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{width:30%}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}}@media only screen and (max-width: 700px){.pageAccount .presetFilterButtons .buttons{grid-template-columns:1fr}.pageAccount .triplegroup{grid-template-columns:1fr 1fr}.pageAccount .triplegroup .emptygroup{display:none}.pageAccount .group.chart .below{grid-template-columns:1fr;gap:.5rem}.pageAccount .group.topFilters .buttonsAndTitle .buttons{display:grid;justify-content:unset}.pageAccount .group.history table thead td:nth-child(6),.pageAccount .group.history table tbody td:nth-child(6){display:none}.badge:after,.badge:before{display:none}}@media only screen and (max-width: 650px){.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.none{grid-template-areas:\"avAndName\" \"typingStats\";grid-template-columns:1fr}.profile .details.none .separator{display:none}.profile .details.none .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\";grid-template-columns:1fr 1fr}.profile .details.bioAndKey .separator{display:none}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc{grid-template-areas:\"avAndName\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.soc .separator{display:none}.profile .details.soc .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc .socials{justify-content:start}.profile .details.soc .socials .title{display:block}.profile .details.soc .socials .value{grid-auto-flow:column}.profile .details.both{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\" \"socials socials\";grid-template-columns:1fr 1fr}.profile .details.both .separator{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}#quoteRatePopup .ratingStats{grid-template-columns:1fr 1fr!important}#quoteRatePopup .quote{grid-template-areas:\"text text text\" \"source source source\" \"id length length\"!important}.pageSettings .section{grid-template-columns:1fr;grid-template-areas:\"title\" \"text\" \"buttons\"}.pageSettings .section>.text{margin-bottom:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/5;width:100%;text-align:center}#supportMe{width:80vw!important}#supportMe .buttons{grid-template-columns:none!important}#supportMe .buttons .button{grid-template-columns:auto 1fr;align-items:center}#supportMe .buttons .button .icon{font-size:2rem!important;line-height:2rem!important;margin-left:2rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 600px){.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr 1fr}#top .logo .bottom{margin-top:0}.pageLogin{display:grid;gap:5rem;grid-auto-flow:unset}#middle #result{grid-template-areas:\"stats stats\" \"chart chart\" \"morestats morestats\"}#middle #result .stats{grid-template-areas:\"wpm acc\";gap:2rem}#middle #result .stats.morestats{grid-template-rows:1fr 1fr 1fr;gap:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row}#commandLine,#commandLineInput{width:500px!important}#customTextPopupWrapper #customTextPopup .wordfilter.button{width:100%!important;justify-self:auto}#customTextPopupWrapper #customTextPopup .inputs{display:flex!important;flex-direction:column;justify-content:flex-start}.pageAccount .group.history table thead td:nth-child(7),.pageAccount .group.history table thead td:nth-child(5),.pageAccount .group.history table tbody td:nth-child(7),.pageAccount .group.history table tbody td:nth-child(5){display:none}}@media only screen and (max-width: 550px){.profile .pbsWords,.profile .pbsTime{font-size:.9rem}.profile .pbsWords,.profile .pbsTime{grid-template-columns:1fr 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\";grid-template-columns:1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.both .typingStats{grid-template-columns:1fr}#cookiePopupWrapper #cookiePopup,#cookiePopupWrapper .extensionMessage{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1rem}#contactPopupWrapper #contactPopup .buttons .button .icon{font-size:1.5rem;line-height:1.5rem}#contactPopupWrapper #contactPopup{padding:1rem}.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr}#simplePopupWrapper #simplePopup{width:90vw}#quoteReportPopup{width:calc(100% - 2rem);margin-left:1rem;max-width:800px;padding:1rem}.pageSettings .settingsGroup.quickNav{display:none}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr}.pageSettings .section .buttons{grid-auto-flow:row}.pageSettings .section.customBackgroundFilter .groups .group{grid-template-columns:auto 1fr}.pageSettings .section.customBackgroundFilter .groups .group .title{grid-column:1/3}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons,.pageAccount .triplegroup{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(3),.pageAccount .group.history table tbody td:nth-child(3){display:none}#top{align-items:self-end}#top .logo .icon{width:1.5rem!important}#top .logo .text{font-size:1.5rem!important;margin-bottom:.3rem!important}#top .logo .bottom{font-size:1.75rem;line-height:1.75rem;margin-top:0}#top .logo .top{display:none}#top #menu .textButton{padding:0}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:auto auto auto;grid-auto-flow:row}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr 1fr;gap:.25rem 1rem}#centerContent{padding:1rem}#centerContent #top{grid-template-columns:1fr auto}#centerContent #top .desktopConfig{display:none}#centerContent #top .mobileConfig{display:block}#middle #result .stats{grid-template-areas:\"wpm\" \"acc\";gap:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/3;width:100%;text-align:center}#commandLine,#commandLineInput{width:400px!important}#leaderboardsWrapper #leaderboards{width:85vw}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(4){display:none}}@media only screen and (max-width: 400px){#top .config{grid-gap:.25rem}#top .config .group .buttons{font-size:.65rem;line-height:.65rem}#bottom{font-size:.65rem}#bottom .leftright{grid-template-columns:1fr 1fr}#bottom .leftright .left{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;grid-auto-flow:row}#bottom .leftright .right{grid-template-rows:1fr 1fr 1fr 1fr;gap:.25rem 1rem}#commandLine,#commandLineInput{width:300px!important}#leaderboardsWrapper #leaderboards .tables .titleAndTable .titleAndButtons{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 9rem)}}@media only screen and (max-width: 350px){.ad.ad-h-s{display:none}.pageLogin .side input{width:90vw}.page404 .content,.page404 .content .image{width:100%}.page404 .content .big{font-size:7rem;line-height:7rem}}@media (hover: none) and (pointer: coarse){#commandLineMobileButton{display:block!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
4668
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TgoTypingReplayInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4669
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TgoTypingReplayInputComponent, isStandalone: true, selector: "tgo-typing-replay-input", inputs: { replayExport: "replayExport", funbox: "funbox" }, viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true }, { propertyName: "replayStopwatch", first: true, predicate: ["replayStopwatch"], descendants: true }], ngImport: i0, template: "<div id=\"centerContent\">\n <div id=\"middle\" #middle>\n <div class=\"page pageTest active\">\n <div id=\"result\" tabindex=\"0\">\n <div class=\"bottom\" style=\"grid-column: 1/3\">\n <div id=\"resultReplay\">\n <div class=\"title\">\n Watch replay\n <span\n id=\"playpauseReplayButton\"\n class=\"textButton\"\n aria-label=\"Start replay\"\n data-balloon-pos=\"up\"\n style=\"display: inline-block\"\n (click)=\"playpauseReplayButtonClick()\"\n #toggleButton\n >\n <div id=\"key\" class=\"Play\" #playpauseelem>{{ playpauseelem.className }}</div>\n </span>\n <p id=\"replayStopwatch\" #replayStopwatch>0s</p>\n </div>\n <div id=\"wordsWrapper\">\n <div id=\"replayWords\" class=\"words\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Itim:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Coming+Soon:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lalezar:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;700&display=swap\";@keyframes loader{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}@keyframes caretFlashSmooth{0%,to{opacity:0}50%{opacity:1}}@keyframes caretFlashHard{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes flashKey{0%{color:#f6f6f6;background-color:#888;border-color:#888}to{color:#888;background-color:#f6f6f6;border-color:#888}}@keyframes shake{0%{transform:translate(2px) rotate(0)}50%{transform:translate(-2px) rotate(0)}to{transform:translate(2px) rotate(0)}}@keyframes flashHighlight{0%{background-color:#f6f6f6}10%{background-color:#888}40%{background-color:#888}to{background-color:#f6f6f6}}@keyframes rgb-bg{0%{background:#4cae4c}20%{background:#409eb5}40%{background:#8134f4}60%{background:#f10e19}80%{background:#ffc505}to{background:#4cae4c}}#caret,#caret.outline,#paceCaret.outline{height:1.5rem;background:#dc322f;animation:caretFlashSmooth 1s infinite;position:absolute;border-radius:.5rem;transform-origin:top left}#paceCaret{height:1.5rem;background:#888;opacity:.5;position:absolute;border-radius:.5rem;transform-origin:top left;width:2px}#caret.off,#paceCaret.off{width:0}#caret.default,#paceCaret.default{width:2px}#caret.block,#caret.outline,#paceCaret.block,#paceCaret.outline{width:.7em;border-radius:0;z-index:-1}#caret.outline,#paceCaret.outline{animation-name:none;background:transparent;border:1px solid #dc322f}#caret.block,#caret.outline,#caret.underline,#paceCaret.block,#paceCaret.outline,#paceCaret.underline{margin-left:.1rem}#caret.block.size15,#caret.outline.size15,#caret.underline.size15,#paceCaret.block.size15,#paceCaret.outline.size15,#paceCaret.underline.size15{margin-left:.15rem}#caret.block.size2,#caret.outline.size2,#caret.underline.size2,#paceCaret.block.size2,#paceCaret.outline.size2,#paceCaret.underline.size2{margin-left:.2rem}#caret.block.size3,#caret.outline.size3,#caret.underline.size3,#paceCaret.block.size3,#paceCaret.outline.size3,#paceCaret.underline.size3{margin-left:.25em}#caret.block.size4,#caret.outline.size4,#caret.underline.size4,#paceCaret.block.size4,#paceCaret.outline.size4,#paceCaret.underline.size4{margin-left:.3rem}#caret.underline,#paceCaret.underline{height:2px;width:.8em;margin-top:1.3em}#caret.underline.size125,#paceCaret.underline.size125{margin-top:1.8em}#caret.underline.size15,#paceCaret.underline.size15{margin-top:2.1em}#caret.underline.size2,#paceCaret.underline.size2{margin-top:2.7em}#caret.underline.size3,#paceCaret.underline.size3{margin-top:3.9em}#caret.underline.size4,#paceCaret.underline.size4{margin-top:5em}#caret.size125,#paceCaret.size125{transform:scale(1.25)}#caret.size15,#paceCaret.size15{transform:scale(1.45)}#caret.size2,#paceCaret.size2{transform:scale(1.9)}#caret.size3,#paceCaret.size3{transform:scale(2.8)}#caret.size4,#paceCaret.size4{transform:scale(3.7)}::ng-deep :host{scroll-padding-top:2rem;font-weight:600}::ng-deep ::placeholder{color:#888;opacity:1}::ng-deep #app{display:grid;grid-template-columns:auto minmax(0,1000px) auto;justify-items:center}::ng-deep #app.wide125{grid-template-columns:auto minmax(0,1250px) auto}::ng-deep #app.wide150{grid-template-columns:auto minmax(0,1500px) auto}::ng-deep #app.wide200{grid-template-columns:auto minmax(0,2000px) auto}::ng-deep #app.widemax{grid-template-columns:auto minmax(0,1fr) auto}::ng-deep #nocss{display:none!important;pointer-events:none}::ng-deep .ffscroll,::ng-deep #contactPopupWrapper #contactPopup,#contactPopupWrapper ::ng-deep #contactPopup,::ng-deep #supportMeWrapper #supportMe,#supportMeWrapper ::ng-deep #supportMe,::ng-deep #versionHistoryWrapper #versionHistory,#versionHistoryWrapper ::ng-deep #versionHistory,::ng-deep html{scrollbar-width:thin;scrollbar-color:#888888 transparent}::ng-deep html{overflow-y:scroll}::ng-deep a{display:inline-block;color:#888;transition:.25s}::ng-deep a:hover{color:#181819}::ng-deep a[data-link] *{pointer-events:none}::ng-deep a.button{text-decoration:none}::ng-deep #centerContent{margin:0;padding:0;min-height:300px;font-family:Roboto Mono,Vazirmatn;color:#181819;overflow-x:hidden;border:1px solid #E0E0E0}::ng-deep .customBackground{content:\"\";width:100vw;height:100vh;position:fixed;left:0;top:0;background-position:center center;background-repeat:no-repeat;z-index:-999;justify-content:center;align-items:center;display:flex}::ng-deep #backgroundLoader{height:3px;position:fixed;width:100%;background:#888;animation:loader 2s cubic-bezier(.38,.16,.57,.82) infinite;z-index:9999}::ng-deep label.checkbox span{display:block;font-size:.76rem;color:#888;margin-left:1.5rem}::ng-deep label.checkbox input{margin:0!important;cursor:pointer;width:0;height:0;display:none;-webkit-user-select:none;user-select:none}::ng-deep label.checkbox input~.customTextCheckbox{width:1.25rem;height:1.25rem;background:#e2d8be;border-radius:.25rem;display:inline-grid;margin:0 .5rem 0 0;-webkit-user-select:none;user-select:none;cursor:pointer}::ng-deep label.checkbox input~.customTextCheckbox .check{opacity:0;color:#888;transition:.125s}::ng-deep label.checkbox input:checked~.customTextCheckbox .check{opacity:1}::ng-deep #centerContent{display:grid;grid-auto-flow:row;padding:10rem 2rem 2rem;gap:2rem;align-items:center;z-index:999;grid-template-rows:auto 1fr auto;width:100%;transition:padding-top .125s}::ng-deep #centerContent.wide125{max-width:1250px}::ng-deep #centerContent.wide150{max-width:1500px}::ng-deep #centerContent.wide200{max-width:2000px}::ng-deep #centerContent.widemax{max-width:unset}::ng-deep #key{color:#f6f6f6;background-color:#888;padding:.3rem;margin:0rem .5rem;border-radius:.1rem;display:inline-block;font-size:.7rem;line-height:.7rem}::ng-deep .pageLoading{display:grid;justify-content:center}::ng-deep .pageLoading .preloader,::ng-deep .pageAccount .preloader{text-align:center;justify-self:center;display:grid}::ng-deep .pageLoading .preloader .barWrapper,::ng-deep .pageAccount .preloader .barWrapper{display:grid;gap:1rem;grid-row:1;grid-column:1}::ng-deep .pageLoading .preloader .barWrapper .bar,::ng-deep .pageAccount .preloader .barWrapper .bar{width:20rem;height:.5rem;background:#e2d8be;border-radius:.5rem}::ng-deep .pageLoading .preloader .barWrapper .bar .fill,::ng-deep .pageAccount .preloader .barWrapper .bar .fill{height:100%;width:0%;background:#888;border-radius:.5rem}::ng-deep .pageLoading .preloader .icon,::ng-deep .pageAccount .preloader .icon{grid-row:1;grid-column:1;font-size:2rem;color:#888;margin-bottom:1rem}::ng-deep .devIndicator{position:fixed;font-size:3rem;color:#888;opacity:.25;z-index:-1}::ng-deep .devIndicator.tl{top:2rem;left:2rem}::ng-deep .devIndicator.tr{top:2rem;right:2rem}::ng-deep .devIndicator.bl{bottom:2rem;left:2rem}::ng-deep .devIndicator.br{bottom:2rem;right:2rem}::ng-deep *{box-sizing:border-box}::ng-deep .hidden{display:none!important}::ng-deep .invisible{opacity:0!important;pointer-events:none!important}::ng-deep .button{color:#181819;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;background:#e2d8be;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem}::ng-deep .button.active{background:#888;color:#f6f6f6}::ng-deep .button.active:hover{background:#181819}::ng-deep .button.active:active{background:#888;color:#f6f6f6}::ng-deep .button.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .button.disabled:hover{background:#181819;outline:none}::ng-deep .button.disabled:active{background:#888;color:#f6f6f6}::ng-deep .button:hover{color:#f6f6f6;background:#181819;outline:none}::ng-deep .button:focus{outline:2px solid #181819}::ng-deep .button:active{background:#888;color:#f6f6f6}::ng-deep .textButton{color:#888;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem;width:max-content;width:-moz-max-content;display:grid;grid-auto-flow:column;gap:.25rem;text-decoration:none}::ng-deep .textButton .fas,::ng-deep .textButton .far{display:grid;place-content:center center}::ng-deep .textButton.active{color:#888}::ng-deep .textButton.active:hover{color:#181819}::ng-deep .textButton.active:active{color:#888}::ng-deep .textButton.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .textButton.disabled:hover{background:#181819;outline:none}::ng-deep .textButton.disabled:active{background:#888;color:#f6f6f6}::ng-deep .textButton:hover{color:#181819}::ng-deep .textButton:focus{color:#181819;outline:none}::ng-deep .textButton:active{color:#888}::ng-deep .scrollToTopButton{bottom:2rem;right:2rem;position:fixed;font-size:2rem;width:4rem;height:4rem;text-align:center;line-height:4rem;background:#e2d8be;border-radius:99rem;z-index:99;cursor:pointer;color:#888;transition:.25s}::ng-deep .scrollToTopButton:hover{background:#181819;color:#f6f6f6}::ng-deep .inputAndIndicator{position:relative}::ng-deep .inputAndIndicator input{width:100%}::ng-deep .inputAndIndicator .statusIndicator{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}::ng-deep .inputAndIndicator .statusIndicator .indicator{grid-column:1/2;grid-row:1/2}::ng-deep .inputAndIndicator .statusIndicator .indicator.level-1{color:#d33682}::ng-deep .inputAndIndicator .statusIndicator .indicator.level0{color:#888}::ng-deep .inputAndIndicator .statusIndicator .indicator.level1{color:#888}::ng-deep .configureAPI.button{position:fixed;left:2rem;bottom:2rem;display:grid;grid-auto-flow:column;gap:.5rem;text-decoration:none;z-index:999999999}::ng-deep .avatar{transition:opacity .125s,filter .125s,webkit-filter .125s;width:1.25rem;height:1.25rem;border-radius:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}::ng-deep .badge{background:#888;color:#181819;border-radius:.25rem;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:max-content auto;align-items:baseline}::ng-deep .badge .fas,::ng-deep .badge .far{margin:.15rem .3rem;font-size:.9em}::ng-deep .badge .text{margin-top:.15rem;margin-bottom:.15rem;margin-right:.3rem}input,textarea{outline:none;border:none;border-radius:.5rem;background:#e2d8be;color:#181819;padding:.5rem;font-size:1rem;font-family:Roboto Mono,Vazirmatn;caret-color:#888}textarea{resize:vertical}input[type=range]{-webkit-appearance:none;padding:0;width:100%;height:1rem;border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-webkit-slider-thumb:hover{cursor:grab}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-moz-range-thumb:hover{cursor:grab}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=color]{height:3px;opacity:0;padding:0;margin:0;position:absolute;pointer-events:none}input:disabled,textarea:disabled{opacity:.33}::-moz-color-swatch{border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:none;outline:2px solid #888888;font-family:inherit;-webkit-text-fill-color:#181819;-webkit-box-shadow:0 0 0 1000000px #e2d8be inset;caret-color:#181819}.select2-dropdown{background-color:#f6f6f6;color:#181819;outline:none}.select2-container--default.select2-container--disabled .select2-selection--single{background:#e2d8be!important;opacity:.33;cursor:default;pointer-events:none}.select2-selection{background:#e2d8be;height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#181819;outline:none}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#181819;color:#f6f6f6}.select2-container--default .select2-results__option--selected{background-color:#888;color:#f6f6f6}.select2-container--open .select2-dropdown--below,.select2-container--open .select2-dropdown--above{border-color:#e2d8be;background:#f6f6f6;color:#888;border-radius:.5rem}.select2-container--default .select2-selection--single{color:#181819;background:#e2d8be;outline:none;border:none;height:auto;border-radius:.5rem}.select2-container--default.select2-container--disabled .select2-selection--single{background:#5051517a}.select2-selection:focus{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-selection:active{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:35px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent transparent transparent}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#e2d8be;background:#f6f6f6;color:#181819;border-radius:.5rem}.select2-container--default .select2-results__group{color:#181819}.select2-container--default .select2-selection--multiple{background:#e2d8be;border-radius:.5rem;color:#181819;outline:none;border:none}.select2-selection__choice__display{color:#f6f6f6}.select2-selection__choice__remove{color:#888!important}.select2-container .select2-search--inline .select2-search__field{margin:0;border-radius:0;font-family:Roboto Mono,Vazirmatn;line-height:1rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border:none}.select2-container--default .select2-selection--multiple{border:none;padding:.5rem;font-family:Roboto Mono,Vazirmatn}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#888;border:none;border-radius:.25rem;box-sizing:border-box;display:inline-block;margin-left:0;margin-top:0;margin-right:.5rem;padding:0;padding-left:1.25rem;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:1.5rem;border-right:1px solid #F6F6F6;color:#f6f6f6!important;transition:.125s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#181819}.popupWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:center;padding:2rem 0}#customTextPopupWrapper #customTextPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:60vw}#customTextPopupWrapper #customTextPopup .buttonsTop{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup .savedTexts{display:grid;gap:.5rem}#customTextPopupWrapper #customTextPopup .savedTexts .title{color:#888}#customTextPopupWrapper #customTextPopup .savedTexts .buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup textarea{background:#e2d8be;padding:1rem;color:#888;border:none;outline:none;font-size:1rem;font-family:Roboto Mono,Vazirmatn;width:100%;border-radius:.5rem;resize:vertical;height:200px;color:#181819;overflow-x:hidden;overflow-y:scroll}#customTextPopupWrapper #customTextPopup .inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;justify-items:left}#customTextPopupWrapper #customTextPopup .randomInputFields{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;width:100%;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px;max-height:80vh;overflow:auto}#savedTextsPopupWrapper #savedTextsPopup .title{font-size:1.5rem;color:#888}#savedTextsPopupWrapper #savedTextsPopup .list{display:grid;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText{display:grid;gap:.5rem;grid-template-columns:1fr 3rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText .button .fas{pointer-events:none}#wordFilterPopupWrapper #wordFilterPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#wordFilterPopupWrapper #wordFilterPopup input{width:100%}#wordFilterPopupWrapper #wordFilterPopup .group{display:grid;gap:.5rem}#wordFilterPopupWrapper #wordFilterPopup .lengthgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:1rem}#wordFilterPopupWrapper #wordFilterPopup .tip{color:#888;font-size:.8rem}#wordFilterPopupWrapper #wordFilterPopup .loadingIndicator{justify-self:center}#quoteRatePopupWrapper #quoteRatePopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:2rem;width:800px;display:grid;grid-template-areas:\"warning warning warning\" \"spacer2 spacer2 spacer2\" \"ratingStats ratingStats submitButton\" \"spacer spacer spacer\" \"quote quote quote\";grid-template-columns:auto 1fr;color:#181819}#quoteRatePopupWrapper #quoteRatePopup .warning{grid-area:warning}#quoteRatePopupWrapper #quoteRatePopup .warning span{color:#d33682}#quoteRatePopupWrapper #quoteRatePopup .spacer,#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer;width:100%;height:.1rem;border-radius:.5rem;background:#888;opacity:.25}#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer2}#quoteRatePopupWrapper #quoteRatePopup .submitButton{font-size:2rem;grid-area:submitButton;color:#888}#quoteRatePopupWrapper #quoteRatePopup .submitButton:hover{color:#181819}#quoteRatePopupWrapper #quoteRatePopup .top{color:#888;font-size:.8rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;grid-area:ratingStats}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .top{font-size:1rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .val{font-size:2.25rem}#quoteRatePopupWrapper #quoteRatePopup .quote{display:grid;grid-area:quote;gap:1rem;grid-template-areas:\"text text text\" \"id length source\";grid-template-columns:1fr 1fr 3fr}#quoteRatePopupWrapper #quoteRatePopup .quote .text{grid-area:text}#quoteRatePopupWrapper #quoteRatePopup .quote .id{grid-area:id}#quoteRatePopupWrapper #quoteRatePopup .quote .length{grid-area:length}#quoteRatePopupWrapper #quoteRatePopup .quote .source{grid-area:source}#quoteRatePopupWrapper #quoteRatePopup .stars{display:grid;color:#888;font-size:2rem;grid-template-columns:auto auto auto auto auto;justify-content:flex-start;align-items:center;cursor:pointer}#quoteRatePopupWrapper #quoteRatePopup .star{transition:.125s}#quoteRatePopupWrapper #quoteRatePopup i{pointer-events:none}#quoteRatePopupWrapper #quoteRatePopup .star.active{color:#181819}#simplePopupWrapper #simplePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#simplePopupWrapper #simplePopup .title{font-size:1.5rem;color:#888}#simplePopupWrapper #simplePopup .inputs{display:grid;gap:1rem}#simplePopupWrapper #simplePopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup{background:#f6f6f6;border-radius:.5rem;padding:1rem;display:grid;gap:1rem;width:calc(100vw - 2rem);max-width:400px}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .title{font-size:1.5rem;color:#888}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .inputs{display:grid;gap:1rem}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .group{display:grid;gap:.5rem}#customWordAmountPopupWrapper #customWordAmountPopup,#customWordAmountPopupWrapper #customTestDurationPopup,#customWordAmountPopupWrapper #practiseWordsPopup,#customWordAmountPopupWrapper #pbTablesPopup,#customTestDurationPopupWrapper #customWordAmountPopup,#customTestDurationPopupWrapper #customTestDurationPopup,#customTestDurationPopupWrapper #practiseWordsPopup,#customTestDurationPopupWrapper #pbTablesPopup,#practiseWordsPopupWrapper #customWordAmountPopup,#practiseWordsPopupWrapper #customTestDurationPopup,#practiseWordsPopupWrapper #practiseWordsPopup,#practiseWordsPopupWrapper #pbTablesPopup,#pbTablesPopupWrapper #customWordAmountPopup,#pbTablesPopupWrapper #customTestDurationPopup,#pbTablesPopupWrapper #practiseWordsPopup,#pbTablesPopupWrapper #pbTablesPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#customWordAmountPopupWrapper #customWordAmountPopup .title,#customWordAmountPopupWrapper #customTestDurationPopup .title,#customWordAmountPopupWrapper #practiseWordsPopup .title,#customWordAmountPopupWrapper #pbTablesPopup .title,#customTestDurationPopupWrapper #customWordAmountPopup .title,#customTestDurationPopupWrapper #customTestDurationPopup .title,#customTestDurationPopupWrapper #practiseWordsPopup .title,#customTestDurationPopupWrapper #pbTablesPopup .title,#practiseWordsPopupWrapper #customWordAmountPopup .title,#practiseWordsPopupWrapper #customTestDurationPopup .title,#practiseWordsPopupWrapper #practiseWordsPopup .title,#practiseWordsPopupWrapper #pbTablesPopup .title,#pbTablesPopupWrapper #customWordAmountPopup .title,#pbTablesPopupWrapper #customTestDurationPopup .title,#pbTablesPopupWrapper #practiseWordsPopup .title,#pbTablesPopupWrapper #pbTablesPopup .title{font-size:1.5rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .tip,#customWordAmountPopupWrapper #customTestDurationPopup .tip,#customWordAmountPopupWrapper #practiseWordsPopup .tip,#customWordAmountPopupWrapper #pbTablesPopup .tip,#customTestDurationPopupWrapper #customWordAmountPopup .tip,#customTestDurationPopupWrapper #customTestDurationPopup .tip,#customTestDurationPopupWrapper #practiseWordsPopup .tip,#customTestDurationPopupWrapper #pbTablesPopup .tip,#practiseWordsPopupWrapper #customWordAmountPopup .tip,#practiseWordsPopupWrapper #customTestDurationPopup .tip,#practiseWordsPopupWrapper #practiseWordsPopup .tip,#practiseWordsPopupWrapper #pbTablesPopup .tip,#pbTablesPopupWrapper #customWordAmountPopup .tip,#pbTablesPopupWrapper #customTestDurationPopup .tip,#pbTablesPopupWrapper #practiseWordsPopup .tip,#pbTablesPopupWrapper #pbTablesPopup .tip{font-size:.75rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .text,#customWordAmountPopupWrapper #customTestDurationPopup .text,#customWordAmountPopupWrapper #practiseWordsPopup .text,#customWordAmountPopupWrapper #pbTablesPopup .text,#customTestDurationPopupWrapper #customWordAmountPopup .text,#customTestDurationPopupWrapper #customTestDurationPopup .text,#customTestDurationPopupWrapper #practiseWordsPopup .text,#customTestDurationPopupWrapper #pbTablesPopup .text,#practiseWordsPopupWrapper #customWordAmountPopup .text,#practiseWordsPopupWrapper #customTestDurationPopup .text,#practiseWordsPopupWrapper #practiseWordsPopup .text,#practiseWordsPopupWrapper #pbTablesPopup .text,#pbTablesPopupWrapper #customWordAmountPopup .text,#pbTablesPopupWrapper #customTestDurationPopup .text,#pbTablesPopupWrapper #practiseWordsPopup .text,#pbTablesPopupWrapper #pbTablesPopup .text{font-size:1rem;color:#181819}#customWordAmountPopupWrapper #customTestDurationPopup .preview,#customTestDurationPopupWrapper #customTestDurationPopup .preview,#practiseWordsPopupWrapper #customTestDurationPopup .preview,#pbTablesPopupWrapper #customTestDurationPopup .preview{font-size:.75rem;color:#888}#googleSignUpPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#googleSignUpPopup .title{font-size:1.5rem;color:#888}#googleSignUpPopup .inputAndIndicator{position:relative}#googleSignUpPopup .inputAndIndicator input{width:100%}#googleSignUpPopup .inputAndIndicator .checkStatus{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available,#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{grid-column:1/2;grid-row:1/2}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available{color:#888}#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{color:#d33682}#shareTestSettingsPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:500px}#shareTestSettingsPopup .title{font-size:1.5rem;color:#888}#shareTestSettingsPopup .subgroup{padding-left:2rem}#shareTestSettingsPopup .tooLongWarning{font-size:.75rem;color:#d33682}#cookiePopupWrapper .extensionMessage{position:fixed;right:2rem;bottom:2rem;padding:1rem;width:465px;font-size:.75rem}#cookiePopupWrapper #cookiePopup{position:fixed;right:2rem;bottom:2rem;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:465px;z-index:100000001;-webkit-user-select:none;user-select:none}#cookiePopupWrapper #cookiePopup .main{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .title{font-size:1.5rem;color:#888}#cookiePopupWrapper #cookiePopup .buttons{margin-top:.25rem;display:grid;grid-auto-flow:column;gap:1rem;grid-template-columns:1fr 2.25rem}#cookiePopupWrapper #cookiePopup .settings{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .settings .customTextCheckbox{background:#888}#cookiePopupWrapper #cookiePopup .settings .cookie label{display:grid;gap:0 1rem;grid-template-columns:1fr min-content;grid-template-areas:\"title check\" \"description check\"}#cookiePopupWrapper #cookiePopup .settings .cookie label .title{grid-area:title;font-size:1.25rem}#cookiePopupWrapper #cookiePopup .settings .cookie label .description{grid-area:description}#cookiePopupWrapper #cookiePopup .settings .cookie label .customTextCheckbox{place-self:center;grid-area:check}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label{grid-template-columns:1fr;grid-template-areas:\"title\" \"description\"}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label a{margin-top:.25rem}#videoAdPopupWrapper{display:flex;padding:2rem}#videoAdPopupWrapper #videoAdPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:1rem;width:100%;max-width:1000px;aspect-ratio:16/9;display:grid;grid-template-areas:\"middle\"}#videoAdPopupWrapper #videoAdPopup .preloader{grid-area:middle;display:grid;place-items:center center;gap:1rem;font-size:2rem;color:#888;height:max-content;align-self:center}#videoAdPopupWrapper #videoAdPopup .video{grid-area:middle}#pbTablesPopupWrapper #pbTablesPopup{min-width:50rem;max-height:calc(100vh - 10rem);overflow-y:scroll}#pbTablesPopupWrapper #pbTablesPopup .title{color:#181819}#pbTablesPopupWrapper #pbTablesPopup table{border-spacing:0;border-collapse:collapse;color:#181819}#pbTablesPopupWrapper #pbTablesPopup table td{padding:.5rem}#pbTablesPopupWrapper #pbTablesPopup table thead{color:#888;font-size:.75rem}#pbTablesPopupWrapper #pbTablesPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#pbTablesPopupWrapper #pbTablesPopup table td.infoIcons span{margin:0 .1rem}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton{opacity:.25;transition:.25s;cursor:pointer}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton:hover{opacity:1}#pbTablesPopupWrapper #pbTablesPopup table .sub{opacity:.5}#pbTablesPopupWrapper #pbTablesPopup table td{text-align:right}#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(6),#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(7){text-align:center}#pbTablesPopupWrapper #pbTablesPopup table tbody td:nth-child(1){font-size:1.5rem}#customThemeShareWrapper #customThemeShare{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSearchPopupWrapper .highlight{color:#888}#quoteSearchPopupWrapper #quoteSearchPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:80vw;max-width:1000px;height:80vh;grid-template-rows:auto auto auto 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop{display:flex;justify-content:space-between}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .title{font-size:1.5rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons{width:33%;display:grid;gap:.5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons .button{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{display:grid;grid-template-columns:1.5fr 1fr max-content;gap:1rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #searchBox{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #toggleShowFavorites{height:100%;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem}#quoteSearchPopupWrapper #quoteSearchPopup #extraResults{text-align:center;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults{display:grid;gap:.5rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult{display:grid;grid-template-columns:1fr 1fr 3fr 0fr 0fr;grid-template-areas:\"text text text text text\" \"id len source report favorite\";grid-auto-rows:auto;width:100%;gap:.5rem;transition:.25s;padding:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;height:min-content}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .text{grid-area:text;overflow:visible;color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .id{grid-area:id;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .length{grid-area:len;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .source{grid-area:source;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .resultChevron{grid-area:chevron;display:flex;align-items:center;justify-items:center;color:#888;font-size:2rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report{grid-area:report;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite{grid-area:favorite;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .sub{opacity:.5}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult:hover{background:#e2d8be;border-radius:5px}#settingsImportWrapper #settingsImport{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSubmitPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:100%;max-height:40rem;overflow-y:scroll}#quoteSubmitPopup label{color:#888;margin-bottom:-1rem}#quoteSubmitPopup .title{font-size:1.5rem;color:#888}#quoteSubmitPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteSubmitPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteSubmitPopup .characterCount.red{color:#d33682}#apeKeysPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;width:1000px;max-width:calc(100vw - 4rem);min-height:18rem;overflow-y:scroll;grid-template-rows:max-content auto;align-items:baseline;gap:1rem}#apeKeysPopup .top{display:grid;grid-template-columns:1fr auto}#apeKeysPopup .top .title{font-size:1.5rem;color:#888}#apeKeysPopup .top .button{padding:.4rem 2rem}#apeKeysPopup .textButton{justify-content:center}#apeKeysPopup .keyButtons{display:grid;grid-auto-flow:column;gap:1rem}#apeKeysPopup .keyButtons .button{width:3rem}#apeKeysPopup table{width:100%;border-spacing:0;border-collapse:collapse}#apeKeysPopup table tr td:first-child{text-align:center}#apeKeysPopup table tr.me td{color:#888}#apeKeysPopup table td{padding:.5rem}#apeKeysPopup table thead{color:#888;font-size:.75rem}#apeKeysPopup table thead td{padding:.5rem;background:#f6f6f6;position:-webkit-sticky;position:sticky;top:0;z-index:99}#apeKeysPopup table tbody{color:#181819}#apeKeysPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#apeKeysPopup table tfoot td{padding:1rem .5rem;position:-webkit-sticky;position:sticky;bottom:-5px;background:#f6f6f6;color:#888;z-index:4}#apeKeysPopup table tr td:first-child{padding-left:1rem}#apeKeysPopup table tr td:last-child{padding-right:1rem}#quoteApprovePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;height:80vh;grid-template-rows:auto 1fr}#quoteApprovePopup .top{display:flex;justify-content:space-between}#quoteApprovePopup .top .title{font-size:1.5rem;color:#888}#quoteApprovePopup .top .button{width:33%}#quoteApprovePopup .quotes{display:grid;gap:1rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteApprovePopup .quotes .quote{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto 2rem;width:100%;gap:1rem;transition:.25s;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:min-content;margin-bottom:1rem}#quoteApprovePopup .quotes .quote .text{grid-column:1/2;grid-row:1/2;overflow:visible;color:#181819;resize:vertical;min-height:4rem}#quoteApprovePopup .quotes .quote .source{grid-column:1/2;grid-row:2/3;color:#181819}#quoteApprovePopup .quotes .quote .buttons{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;grid-column:2/3;grid-row:1/4;color:#888}#quoteApprovePopup .quotes .quote .bottom{display:flex;justify-content:space-around;color:#888}#quoteApprovePopup .quotes .quote .bottom .length.red{color:#d33682}#quoteApprovePopup .quotes .quote .sub{opacity:.5}#quoteApprovePopup .quotes .searchResult:hover{background:#e2d8be;border-radius:5px}#quoteReportPopupWrapper #quoteReportPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:auto;max-height:40rem;overflow-y:scroll;width:calc(100% - 4rem);margin-left:2rem;max-width:800px}#quoteReportPopupWrapper #quoteReportPopup label{color:#888;margin-bottom:-1rem}#quoteReportPopupWrapper #quoteReportPopup .quote{font-size:1.5rem}#quoteReportPopupWrapper #quoteReportPopup .title{font-size:1.5rem;color:#888}#quoteReportPopupWrapper #quoteReportPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteReportPopupWrapper #quoteReportPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteReportPopupWrapper #quoteReportPopup .characterCount.red{color:#d33682}#resultEditTagsPanelWrapper #resultEditTagsPanel{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll;width:500px}#resultEditTagsPanelWrapper #resultEditTagsPanel .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}#versionHistoryWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:start;padding:5rem 0}#versionHistoryWrapper #versionHistory{width:75vw;height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#versionHistoryWrapper #versionHistory .tip{text-align:center;color:#888}#versionHistoryWrapper #versionHistory .releases{display:grid;gap:4rem}#versionHistoryWrapper #versionHistory .releases .release{display:grid;grid-template-areas:\"title date\" \"body body\"}#versionHistoryWrapper #versionHistory .releases .release .title{grid-area:title;font-size:2rem;color:#888}#versionHistoryWrapper #versionHistory .releases .release .date{grid-area:date;text-align:right;color:#888;align-self:center}#versionHistoryWrapper #versionHistory .releases .release .body{grid-area:body;color:#181819}#versionHistoryWrapper #versionHistory .releases .release:last-child{margin-bottom:2rem}#supportMeWrapper #supportMe{width:900px;overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem}#supportMeWrapper #supportMe .title{font-size:1.5rem;color:#888}#supportMeWrapper #supportMe .text{color:#181819}#supportMeWrapper #supportMe .subtext{color:#888;font-size:.75rem}#supportMeWrapper #supportMe .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#supportMeWrapper #supportMe .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;gap:1rem;text-decoration:none}#supportMeWrapper #supportMe .buttons .button .text{transition:.25s}#supportMeWrapper #supportMe .buttons .button:hover .text{color:#f6f6f6}#supportMeWrapper #supportMe .buttons .button .icon{font-size:3rem;line-height:3rem}#contactPopupWrapper #contactPopup{overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem;margin:0 2rem;max-width:900px}#contactPopupWrapper #contactPopup .title{font-size:1.5rem;line-height:2rem;color:#888}#contactPopupWrapper #contactPopup .text{color:#181819}#contactPopupWrapper #contactPopup .text span{color:#d33682}#contactPopupWrapper #contactPopup .subtext{color:#888;font-size:.75rem;grid-area:subtext}#contactPopupWrapper #contactPopup .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr}#contactPopupWrapper #contactPopup .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;text-decoration:none;grid-template-areas:\"icon textgroup\";grid-template-columns:auto 1fr;text-align:left;align-items:center}#contactPopupWrapper #contactPopup .buttons .button .textGroup{grid-area:textgroup}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1.5rem;line-height:2rem;transition:.25s}#contactPopupWrapper #contactPopup .buttons .button:hover .text{color:#f6f6f6}#contactPopupWrapper #contactPopup .buttons .button .icon{grid-area:icon;font-size:2rem;line-height:2rem;padding:0 1rem}#presetWrapper #presetEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#presetWrapper #presetEdit .title{font-size:1.5rem;color:#888}#tagsWrapper #tagsEdit,#tagsWrapper #newResultFilterPresetPopup,#tagsWrapper #editProfilePopup,#newResultFilterPresetPopupWrapper #tagsEdit,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup,#newResultFilterPresetPopupWrapper #editProfilePopup,#editProfilePopupWrapper #tagsEdit,#editProfilePopupWrapper #newResultFilterPresetPopup,#editProfilePopupWrapper #editProfilePopup{max-height:90vh;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#tagsWrapper #tagsEdit .title,#tagsWrapper #newResultFilterPresetPopup .title,#tagsWrapper #editProfilePopup .title,#newResultFilterPresetPopupWrapper #tagsEdit .title,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup .title,#newResultFilterPresetPopupWrapper #editProfilePopup .title,#editProfilePopupWrapper #tagsEdit .title,#editProfilePopupWrapper #newResultFilterPresetPopup .title,#editProfilePopupWrapper #editProfilePopup .title{font-size:1.5rem;color:#888}#editProfilePopup{width:100%;max-width:600px}#editProfilePopup label{color:#888}#editProfilePopup input{width:100%}#editProfilePopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem;max-height:10rem}#editProfilePopup .socialURL{display:flex}#editProfilePopup .socialURL>p{margin-block:.5rem;margin-inline-end:.5rem}#editProfilePopup .badgeSelectionContainer{display:flex;flex-wrap:wrap}#editProfilePopup .badgeSelectionItem{width:max-content;opacity:25%;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem}#editProfilePopup .badgeSelectionItem.selected,#editProfilePopup .badgeSelectionItem:hover{opacity:100%}#customThemesWrapper #customThemesEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}::ng-deep #timerWrapper{opacity:0;transition:.25s;z-index:-1;position:relative;z-index:99}::ng-deep #timerWrapper #timer{position:fixed;top:0;left:0;width:100vw;height:.5rem;background:#000;z-index:-1}::ng-deep #timerWrapper #timer.timerMain{background:#888}::ng-deep #timerWrapper #timer.timerSub{background:#888}::ng-deep #timerWrapper #timer.timerText{background:#181819}::ng-deep .pageTest{position:relative}::ng-deep .pageTest .ssWatermark{font-size:1.25rem;color:#888;line-height:1rem;text-align:right}::ng-deep .pageTest #timerNumber{pointer-events:none;transition:.25s;color:#000;line-height:0;z-index:-1;text-align:center;left:0;width:100%;position:relative;font-size:10rem;opacity:0;width:0;height:0;margin:0 auto;display:grid;justify-content:center;bottom:6rem;transition:none}::ng-deep .pageTest #largeLiveWpmAndAcc{font-size:10rem;color:#000;width:100%;left:0;text-align:center;z-index:-1;height:0;line-height:0;top:5rem;position:relative;display:grid;grid-auto-flow:column;justify-content:center;gap:5rem;width:0;margin:0 auto}::ng-deep .pageTest #largeLiveWpmAndAcc #liveWpm{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveAcc{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveBurst{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc.timerMain,::ng-deep .pageTest #timerNumber.timerMain{color:#888}::ng-deep .pageTest #timer.timerMain{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerSub,::ng-deep .pageTest #timerNumber.timerSub{color:#888}::ng-deep .pageTest #timer.timerSub{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerText,::ng-deep .pageTest #timerNumber.timerText{color:#181819}::ng-deep .pageTest #timer.timerText{background:#181819}::ng-deep #words,::ng-deep .words{height:fit-content;height:-moz-fit-content;display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none;padding-bottom:1em}::ng-deep #words .newline,::ng-deep .words .newline{width:inherit}::ng-deep #words letter,::ng-deep .words letter{border-bottom-style:solid;border-bottom-width:.05em;border-bottom-color:transparent}::ng-deep #words letter.dead,::ng-deep .words letter.dead{border-bottom-width:.05em;border-bottom-color:#888}::ng-deep #words letter.tabChar,::ng-deep #words letter.nlChar,::ng-deep .words letter.tabChar,::ng-deep .words letter.nlChar{margin:0 .25rem;opacity:.2}::ng-deep #words.rightToLeftTest,::ng-deep .words.rightToLeftTest{direction:rtl}::ng-deep #words.rightToLeftTest .word,::ng-deep .words.rightToLeftTest .word{direction:rtl}::ng-deep #words.withLigatures letter,::ng-deep .words.withLigatures letter{display:inline}::ng-deep #words.blurred,::ng-deep .words.blurred{opacity:.25;filter:blur(4px);-webkit-filter:blur(4px)}::ng-deep #words.flipped .word,::ng-deep .words.flipped .word{color:#181819}::ng-deep #words.flipped .word letter.dead,::ng-deep .words.flipped .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped .word letter.correct,::ng-deep .words.flipped .word letter.correct{color:#888}::ng-deep #words.flipped .word letter.corrected,::ng-deep .words.flipped .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped .word letter.extraCorrected,::ng-deep .words.flipped .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.colorfulMode .word letter.dead,::ng-deep .words.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.colorfulMode .word letter.correct,::ng-deep .words.colorfulMode .word letter.correct{color:#888}::ng-deep #words.colorfulMode .word letter.corrected,::ng-deep .words.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.extraCorrected,::ng-deep .words.colorfulMode .word letter.extraCorrected{border-right:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.incorrect,::ng-deep .words.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.colorfulMode .word letter.incorrect.extra,::ng-deep .words.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.flipped.colorfulMode .word,::ng-deep .words.flipped.colorfulMode .word{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.dead,::ng-deep .words.flipped.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped.colorfulMode .word letter.correct,::ng-deep .words.flipped.colorfulMode .word letter.correct{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.corrected,::ng-deep .words.flipped.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.extraCorrected,::ng-deep .words.flipped.colorfulMode .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.incorrect,::ng-deep .words.flipped.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.flipped.colorfulMode .word letter.incorrect.extra,::ng-deep .words.flipped.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.tape.size125 .word,::ng-deep .words.tape.size125 .word{margin:.31rem .62rem .31rem 0}::ng-deep #words.tape.size15 .word,::ng-deep .words.tape.size15 .word{margin:.37rem .74rem .37rem 0}::ng-deep #words.tape.size2 .word,::ng-deep .words.tape.size2 .word{margin:.5rem 1rem .5rem 0}::ng-deep #words.tape.size3 .word,::ng-deep .words.tape.size3 .word{margin:.75rem 1.5rem .75rem 0}::ng-deep #words.tape.size4 .word,::ng-deep .words.tape.size4 .word{margin:1rem 2rem 1rem 0}::ng-deep #words.tape.indicateTyposBelow.size125 .word,::ng-deep .words.tape.indicateTyposBelow.size125 .word{margin:.31rem .62rem .93rem 0}::ng-deep #words.tape.indicateTyposBelow.size15 .word,::ng-deep .words.tape.indicateTyposBelow.size15 .word{margin:.37rem .74rem 1.11rem 0}::ng-deep #words.tape.indicateTyposBelow.size2 .word,::ng-deep .words.tape.indicateTyposBelow.size2 .word{margin:.5rem 1rem 1.5rem 0}::ng-deep #words.tape.indicateTyposBelow.size3 .word,::ng-deep .words.tape.indicateTyposBelow.size3 .word{margin:.75rem 1.5rem 2.25rem 0}::ng-deep #words.tape.indicateTyposBelow.size4 .word,::ng-deep .words.tape.indicateTyposBelow.size4 .word{margin:1rem 2rem 3rem 0}::ng-deep .word{margin:.25rem;color:#888;font-variant:no-common-ligatures;border-bottom:2px solid transparent;line-height:1rem}::ng-deep .word letter{display:inline-block}::ng-deep .word.lastbeforenewline:after{font-family:\"Font Awesome 5 Free\";font-weight:600;content:\"\\f107\";margin-left:.5rem;opacity:.25}::ng-deep .word .wordInputAfter{opacity:1;position:absolute;background:#888;color:#f6f6f6;padding:.5rem;margin-left:-.5rem;border-radius:.5rem;transition:.25s;text-shadow:none;top:-.5rem;z-index:10;cursor:text}::ng-deep .word .wordInputAfter .speed{font-size:.75rem}::ng-deep #words.size125 .word{line-height:1.25rem;font-size:max(1.25rem,24px);margin:.31rem}::ng-deep #words.size15 .word{line-height:1.5rem;font-size:max(1.5rem,24px);margin:.37rem}::ng-deep #words.size2 .word{line-height:2rem;font-size:max(2rem,24px);margin:.5rem}::ng-deep #words.size3 .word{line-height:3rem;font-size:max(3rem,24px);margin:.75rem}::ng-deep #words.size4 .word{line-height:4rem;font-size:max(4rem,24px);margin:1rem}::ng-deep #words.nospace .word{margin:.5rem 0}::ng-deep #words.arrows .word{margin:.5rem 0}::ng-deep #words.arrows .word letter{margin:0 .25rem}::ng-deep .word.error{border-bottom:2px solid #d33682;text-shadow:1px 0px 0px #F6F6F6,-1px 0px 0px #F6F6F6,0px 1px 0px #F6F6F6,1px 1px 0px #F6F6F6,-1px 1px 0px #F6F6F6}::ng-deep #words.noErrorBorder .word.error,::ng-deep #resultWordsHistory.noErrorBorder .word.error{text-shadow:none}::ng-deep .word letter.correct{color:#181819}::ng-deep .word letter.corrected{color:#181819;border-bottom:2px dotted #888888}::ng-deep .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep .word letter.incorrect{color:#d33682;position:relative}::ng-deep .word letter.incorrect hint{position:absolute;bottom:-1em;color:#181819;line-height:initial;font-size:.75em;text-shadow:none;padding:1px;left:0;opacity:.5;text-align:center;width:100%;display:grid;justify-content:center}::ng-deep .word letter.incorrect.extra{color:#9b225c}::ng-deep .word letter.missing{opacity:.5}::ng-deep #words.flipped.colorfulMode .word.error,::ng-deep #words.colorfulMode .word.error{border-bottom:2px solid #d33682}::ng-deep #wordsInput{opacity:0;padding:0;margin:0;border:none;outline:none;display:block;resize:none;position:fixed;z-index:-1;cursor:default;pointer-events:none}::ng-deep #capsWarning{background:#888;color:#f6f6f6;display:table;position:absolute;left:50%;transform:translate(-50%) translateY(-50%);padding:1rem;border-radius:.5rem;transition:.125s;z-index:999;pointer-events:none;top:-2.5rem}::ng-deep #capsWarning i{margin-right:.5rem}::ng-deep #result{display:grid;gap:1rem;align-items:center;grid-template-columns:auto 1fr;grid-template-areas:\"stats chart\" \"morestats morestats\"}::ng-deep #result:focus{outline:none}::ng-deep #result .buttons{display:grid;grid-auto-flow:column;gap:1rem;justify-content:center;grid-column:1/3}::ng-deep #result .ssWatermark{grid-column:1/3}::ng-deep #result #resultWordsHistory,::ng-deep #result #resultReplay{color:#888;margin-bottom:1rem}::ng-deep #result #resultWordsHistory .textButton,::ng-deep #result #resultReplay .textButton{padding:0;margin-left:.5rem}::ng-deep #result #resultWordsHistory .heatmapLegend,::ng-deep #result #resultReplay .heatmapLegend{margin-left:.5rem;display:inline-grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.75rem;color:#888;width:min-content}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes,::ng-deep #result #resultReplay .heatmapLegend .boxes{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box,::ng-deep #result #resultReplay .heatmapLegend .boxes .box{height:1rem;color:#f6f6f6;padding:.1rem .5rem;white-space:nowrap;line-height:.75rem;display:grid;place-content:center center}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(1),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(1){background:#d33682;border-radius:.5rem 0 0 .5rem}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(2),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(2){background:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(3),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(3){background:#888}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(4),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(4){background:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(5),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(5){background:#888;border-radius:0 .5rem .5rem 0}::ng-deep #result #resultWordsHistory .title,::ng-deep #result #resultReplay .title{-webkit-user-select:none;user-select:none;margin-bottom:.25rem}::ng-deep #result #resultWordsHistory .words,::ng-deep #result #resultReplay .words{display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none}::ng-deep #result #resultWordsHistory .words .word,::ng-deep #result #resultReplay .words .word{position:relative;margin:.18rem .6rem .15rem 0}::ng-deep #result #resultWordsHistory .words .word letter.correct,::ng-deep #result #resultReplay .words .word letter.correct{color:#181819}::ng-deep #result #resultWordsHistory .words .word letter.incorrect,::ng-deep #result #resultReplay .words .word letter.incorrect{color:#d33682}::ng-deep #result #resultWordsHistory .words .word letter.incorrect.extra,::ng-deep #result #resultReplay .words .word letter.incorrect.extra{color:#9b225c}::ng-deep #result #resultWordsHistory .words .word.heatmap0 letter,::ng-deep #result #resultReplay .words .word.heatmap0 letter{color:#d33682}::ng-deep #result #resultWordsHistory .words .word.heatmap1 letter,::ng-deep #result #resultReplay .words .word.heatmap1 letter{color:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap2 letter,::ng-deep #result #resultReplay .words .word.heatmap2 letter{color:#888}::ng-deep #result #resultWordsHistory .words .word.heatmap3 letter,::ng-deep #result #resultReplay .words .word.heatmap3 letter{color:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap4 letter,::ng-deep #result #resultReplay .words .word.heatmap4 letter{color:#888}::ng-deep #result #resultWordsHistory .words.rightToLeftTest,::ng-deep #result #resultReplay .words.rightToLeftTest{direction:rtl}::ng-deep #result #resultWordsHistory .words.rightToLeftTest .word,::ng-deep #result #resultReplay .words.rightToLeftTest .word{direction:rtl}::ng-deep #result #resultWordsHistory .words.withLigatures letter,::ng-deep #result #resultReplay .words.withLigatures letter{display:inline}::ng-deep #result .chart{grid-area:chart;width:100%;max-height:200px;height:200px}::ng-deep #result .chart canvas{width:100%!important;height:100%}::ng-deep #result .chart .title{color:#888;margin-bottom:1rem}::ng-deep #result .loginTip{grid-column:1/3;text-align:center;color:#888}::ng-deep #result .loginTip .link{text-decoration:underline;display:inline-block;cursor:pointer}::ng-deep #result .stats{grid-area:stats;display:grid;gap:.5rem;justify-content:center;align-items:center;grid-template-areas:\"wpm\" \"acc\"}::ng-deep #result .stats.morestats{display:grid;grid-auto-flow:column;grid-template-areas:none;align-items:flex-start;justify-content:space-between;column-gap:2rem;grid-area:morestats}::ng-deep #result .stats.morestats .subgroup{display:grid;gap:.5rem}::ng-deep #result .stats .group .top{color:#888;font-size:1rem;line-height:1rem;margin-bottom:.25rem}::ng-deep #result .stats .group .bottom{color:#888;font-size:2rem;line-height:2rem}::ng-deep #result .stats .group.time .afk,::ng-deep #result .stats .group.time .timeToday{color:#888;font-size:.75rem;line-height:.75rem;margin-left:.2rem}::ng-deep #result .stats .group.source #rateQuoteButton,::ng-deep #result .stats .group.source #reportQuoteButton,::ng-deep #result .stats .group.source #favoriteQuoteButton{padding:0 .25rem}::ng-deep #result .stats .group.source #rateQuoteButton{display:inline-grid;gap:.25rem}::ng-deep #result .stats .info .top,::ng-deep #result .stats .tags .top,::ng-deep #result .stats .source .top{font-size:1rem;line-height:1rem}::ng-deep #result .stats .info .bottom,::ng-deep #result .stats .tags .bottom,::ng-deep #result .stats .source .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .source{max-width:30rem}::ng-deep #result .stats .tags .bottom .fas{margin-left:.5rem}::ng-deep #result .stats .wpm{grid-area:wpm}::ng-deep #result .stats .wpm .top{font-size:2rem;line-height:1.5rem;display:flex}::ng-deep #result .stats .wpm .top .crown{margin-left:.5rem;margin-top:-.2rem;font-size:.7rem;line-height:1.7rem;background:#888;color:#f6f6f6;border-radius:.6rem;text-align:center;align-self:center;width:1.7rem;height:1.7rem}::ng-deep #result .stats .wpm .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .testType .bottom,::ng-deep #result .stats .leaderboards .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .testType .bottom .lbChange .fas,::ng-deep #result .stats .leaderboards .bottom .lbChange .fas{margin-right:.15rem}::ng-deep #result .stats .acc{grid-area:acc}::ng-deep #result .stats .acc .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .acc .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .burst{grid-area:burst}::ng-deep #result .stats .burst .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .burst .bottom{font-size:4rem;line-height:4rem}::ng-deep #restartTestButton,::ng-deep #showWordHistoryButton,::ng-deep #saveScreenshotButton,::ng-deep #restartTestButtonWithSameWordset,::ng-deep #nextTestButton,::ng-deep #practiseWordsButton,::ng-deep #watchReplayButton,::ng-deep #watchVideoAdButton{position:relative;border-radius:.5rem;padding:1rem 2rem;width:min-content;width:-moz-min-content;color:#888;transition:.125s;cursor:pointer}::ng-deep #restartTestButton:hover,::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:hover,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:hover,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:hover,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:hover,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:hover,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:hover,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:hover,::ng-deep #watchVideoAdButton:focus{color:#181819;outline:none}::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:focus{background:#181819;color:#f6f6f6}::ng-deep #retrySavingResultButton{position:relative;border-radius:.5rem;padding:1rem 2rem;color:#d33682;transition:.25s;cursor:pointer;width:max-content;width:-moz-max-content;background:#d33682;color:#f6f6f6;justify-self:center;justify-content:center;margin:0 auto 1rem;-webkit-user-select:none;user-select:none}::ng-deep #retrySavingResultButton:hover,::ng-deep #retrySavingResultButton:focus{background:#181819;outline:none}::ng-deep #retrySavingResultButton:focus{background:#181819}::ng-deep #showWordHistoryButton{opacity:1}::ng-deep #replayWords{cursor:pointer}::ng-deep #replayStopwatch{color:#888;display:inline-block;margin:0 0 0 .5em}::ng-deep #restartTestButton{margin:0 auto;margin-top:1rem}::ng-deep .pageTest #wordsWrapper{position:relative}::ng-deep .pageTest #wordsWrapper.tape{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 1%,rgb(0,0,0) 10%,rgb(0,0,0) 90%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(90deg,#0000 1%,#000 10% 90%,#0000 99%)}::ng-deep .pageTest #memoryTimer{background:#888;color:#f6f6f6;padding:1rem;border-radius:.5rem;text-align:center;width:max-content;left:50%;position:absolute;transform:translate(-50%);top:-6rem;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0}::ng-deep .pageTest .outOfFocusWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .pageTest .errorWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:auto;user-select:auto}::ng-deep .pageTest #testModesNotice{display:flex;flex-wrap:wrap;color:#888;text-align:center;margin-bottom:.5rem;transition:.125s;justify-content:center;-webkit-user-select:none;user-select:none}::ng-deep .pageTest #testModesNotice .textButton{margin:0 .5rem}::ng-deep .pageTest #testModesNotice .fas{margin-right:.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm{height:0;margin-left:.37rem;display:flex;font-size:1rem;line-height:1.13rem;margin-top:-1.5rem;position:absolute;color:#000;font-weight:700}::ng-deep .pageTest #miniTimerAndLiveWpm .time{margin-right:2rem;margin-top:-2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc{margin-right:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .time,::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc,::ng-deep .pageTest #miniTimerAndLiveWpm .burst{opacity:0}::ng-deep .pageTest #miniTimerAndLiveWpm.timerMain{color:#00000080}::ng-deep .pageTest #miniTimerAndLiveWpm.timerSub{color:#888}::ng-deep .pageTest #miniTimerAndLiveWpm.timerText{color:#181819}::ng-deep .pageTest #miniTimerAndLiveWpm.size125{margin-top:-1.75rem;font-size:1.38rem;line-height:1.25rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size15{margin-top:-2rem;font-size:1.63rem;line-height:1.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size2{margin-top:-2.5rem;font-size:2.13rem;line-height:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size3{margin-top:-3.5rem;font-size:3.13rem;line-height:3rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size4{margin-top:-4.5rem;font-size:4.13rem;line-height:4rem}::ng-deep #middle.focus .pageTest #testModesNotice{opacity:0!important}@media only screen and (max-width: 1330px){.ad.ad-v{display:none}#app{grid-template-columns:auto}}@media only screen and (max-width: 1250px){#leaderboardsWrapper #leaderboards .mainTitle{font-size:2rem}#leaderboardsWrapper #leaderboards .title{font-size:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop{grid-template-columns:auto 1fr max-content}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row;gap:.5rem}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:none}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem .5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr 1fr max-content}}@media only screen and (max-width: 1050px){.profile .pbsWords,.profile .pbsTime{font-size:.8rem}.profile .details.bioAndKey .bioAndKeyboard .value{font-size:.75rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr}#result .morestats{gap:1rem;grid-template-rows:1fr 1fr}#supportMe{width:90vw!important}#supportMe .buttons .button .icon{font-size:3rem!important;line-height:3rem!important}#customTextPopup{width:80vw!important}#customTextPopup .wordfilter.button{width:50%!important}}@media only screen and (max-width: 1000px){#quoteRatePopup{width:90vw!important}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr;grid-auto-flow:row;grid-template-columns:auto auto auto auto}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr;gap:.25rem 1rem}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(5){display:none}}@media only screen and (max-width: 900px){.ad.ad-h{display:none}.ad.ad-h-s{display:grid}.profile .pbsWords,.profile .pbsTime{font-size:1rem}.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.soc{grid-template-columns:1.25fr auto 1fr auto auto}.profile .details.soc .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-columns:1.25fr auto auto auto 1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-columns:1.25fr auto 1.25fr auto;grid-template-areas:\"avAndName sep2 bioAndKey bioAndKey\" \"typingStats typingStats typingStats socials\"}.profile .details.both .sep1,.profile .details.both .sep3{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr;width:100%}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}.profile .details.none{grid-template-columns:1fr auto 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}#leaderboards .mainTitle{font-size:1.5rem!important}#bannerCenter .banner .container{grid-template-columns:1fr auto}#bannerCenter .banner .container .image,#bannerCenter .banner .container .lefticon,#bannerCenter .banner .container .righticon{display:none}#bannerCenter .banner .container .text{margin-left:1.5rem;text-align:left;justify-self:start}.merchBanner img{display:none}.merchBanner .text{padding:.25rem 0}.pageSettings .section.autoSwitchThemeInputs{grid-template-columns:1fr 3fr}.pageAccount .group.personalBestTables .tables{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(1),.pageAccount .group.history table thead td:nth-child(8),.pageAccount .group.history table thead td:nth-child(9),.pageAccount .group.history table tbody td:nth-child(1),.pageAccount .group.history table tbody td:nth-child(8),.pageAccount .group.history table tbody td:nth-child(9){display:none}}@media only screen and (max-width: 800px){.pageSettings .settingsGroup.quickNav .links{grid-auto-flow:unset;grid-template-columns:1fr 1fr 1fr;justify-items:center}#centerContent #top{grid-template-areas:\"logo config\" \"menu config\";grid-template-columns:auto auto}#centerContent #top .logo{margin-bottom:0}#centerContent #menu{gap:.5rem;font-size:.8rem;line-height:.8rem;margin-top:-.5rem}#centerContent #menu .textButton{padding:.25rem}#contactPopupWrapper #contactPopup .buttons{grid-template-columns:1fr}.pageAbout .section .contributors,.pageAbout .section .supporters{grid-template-columns:1fr 1fr 1fr}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons{grid-template-columns:1fr 1fr}.pageSettings .section.customBackgroundFilter .groups{grid-template-columns:1fr}.pageSettings .section.customBackgroundFilter .saveContainer{grid-column:-1/-2}#commandLine,#commandLineInput{width:600px!important}#leaderboardsWrapper #leaderboards .leaderboardsTop{flex-direction:column;align-items:baseline;grid-template-areas:\"title title\" \"subtitle subtitle\" \"yesterday yesterday\" \"buttons buttons\";grid-template-columns:1fr}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttons{margin-top:.5rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:column}#leaderboardsWrapper #leaderboards .leaderboardsTop .showYesterdayButton{margin-left:0}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{width:30%}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}}@media only screen and (max-width: 700px){.pageAccount .presetFilterButtons .buttons{grid-template-columns:1fr}.pageAccount .triplegroup{grid-template-columns:1fr 1fr}.pageAccount .triplegroup .emptygroup{display:none}.pageAccount .group.chart .below{grid-template-columns:1fr;gap:.5rem}.pageAccount .group.topFilters .buttonsAndTitle .buttons{display:grid;justify-content:unset}.pageAccount .group.history table thead td:nth-child(6),.pageAccount .group.history table tbody td:nth-child(6){display:none}.badge:after,.badge:before{display:none}}@media only screen and (max-width: 650px){.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.none{grid-template-areas:\"avAndName\" \"typingStats\";grid-template-columns:1fr}.profile .details.none .separator{display:none}.profile .details.none .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\";grid-template-columns:1fr 1fr}.profile .details.bioAndKey .separator{display:none}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc{grid-template-areas:\"avAndName\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.soc .separator{display:none}.profile .details.soc .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc .socials{justify-content:start}.profile .details.soc .socials .title{display:block}.profile .details.soc .socials .value{grid-auto-flow:column}.profile .details.both{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\" \"socials socials\";grid-template-columns:1fr 1fr}.profile .details.both .separator{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}#quoteRatePopup .ratingStats{grid-template-columns:1fr 1fr!important}#quoteRatePopup .quote{grid-template-areas:\"text text text\" \"source source source\" \"id length length\"!important}.pageSettings .section{grid-template-columns:1fr;grid-template-areas:\"title\" \"text\" \"buttons\"}.pageSettings .section>.text{margin-bottom:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/5;width:100%;text-align:center}#supportMe{width:80vw!important}#supportMe .buttons{grid-template-columns:none!important}#supportMe .buttons .button{grid-template-columns:auto 1fr;align-items:center}#supportMe .buttons .button .icon{font-size:2rem!important;line-height:2rem!important;margin-left:2rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 600px){.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr 1fr}#top .logo .bottom{margin-top:0}.pageLogin{display:grid;gap:5rem;grid-auto-flow:unset}#middle #result{grid-template-areas:\"stats stats\" \"chart chart\" \"morestats morestats\"}#middle #result .stats{grid-template-areas:\"wpm acc\";gap:2rem}#middle #result .stats.morestats{grid-template-rows:1fr 1fr 1fr;gap:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row}#commandLine,#commandLineInput{width:500px!important}#customTextPopupWrapper #customTextPopup .wordfilter.button{width:100%!important;justify-self:auto}#customTextPopupWrapper #customTextPopup .inputs{display:flex!important;flex-direction:column;justify-content:flex-start}.pageAccount .group.history table thead td:nth-child(7),.pageAccount .group.history table thead td:nth-child(5),.pageAccount .group.history table tbody td:nth-child(7),.pageAccount .group.history table tbody td:nth-child(5){display:none}}@media only screen and (max-width: 550px){.profile .pbsWords,.profile .pbsTime{font-size:.9rem}.profile .pbsWords,.profile .pbsTime{grid-template-columns:1fr 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\";grid-template-columns:1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.both .typingStats{grid-template-columns:1fr}#cookiePopupWrapper #cookiePopup,#cookiePopupWrapper .extensionMessage{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1rem}#contactPopupWrapper #contactPopup .buttons .button .icon{font-size:1.5rem;line-height:1.5rem}#contactPopupWrapper #contactPopup{padding:1rem}.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr}#simplePopupWrapper #simplePopup{width:90vw}#quoteReportPopup{width:calc(100% - 2rem);margin-left:1rem;max-width:800px;padding:1rem}.pageSettings .settingsGroup.quickNav{display:none}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr}.pageSettings .section .buttons{grid-auto-flow:row}.pageSettings .section.customBackgroundFilter .groups .group{grid-template-columns:auto 1fr}.pageSettings .section.customBackgroundFilter .groups .group .title{grid-column:1/3}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons,.pageAccount .triplegroup{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(3),.pageAccount .group.history table tbody td:nth-child(3){display:none}#top{align-items:self-end}#top .logo .icon{width:1.5rem!important}#top .logo .text{font-size:1.5rem!important;margin-bottom:.3rem!important}#top .logo .bottom{font-size:1.75rem;line-height:1.75rem;margin-top:0}#top .logo .top{display:none}#top #menu .textButton{padding:0}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:auto auto auto;grid-auto-flow:row}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr 1fr;gap:.25rem 1rem}#centerContent{padding:1rem}#centerContent #top{grid-template-columns:1fr auto}#centerContent #top .desktopConfig{display:none}#centerContent #top .mobileConfig{display:block}#middle #result .stats{grid-template-areas:\"wpm\" \"acc\";gap:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/3;width:100%;text-align:center}#commandLine,#commandLineInput{width:400px!important}#leaderboardsWrapper #leaderboards{width:85vw}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(4){display:none}}@media only screen and (max-width: 400px){#top .config{grid-gap:.25rem}#top .config .group .buttons{font-size:.65rem;line-height:.65rem}#bottom{font-size:.65rem}#bottom .leftright{grid-template-columns:1fr 1fr}#bottom .leftright .left{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;grid-auto-flow:row}#bottom .leftright .right{grid-template-rows:1fr 1fr 1fr 1fr;gap:.25rem 1rem}#commandLine,#commandLineInput{width:300px!important}#leaderboardsWrapper #leaderboards .tables .titleAndTable .titleAndButtons{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 9rem)}}@media only screen and (max-width: 350px){.ad.ad-h-s{display:none}.pageLogin .side input{width:90vw}.page404 .content,.page404 .content .image{width:100%}.page404 .content .big{font-size:7rem;line-height:7rem}}@media (hover: none) and (pointer: coarse){#commandLineMobileButton{display:block!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
4686
4670
  }
4687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TgoTypingReplayInputComponent, decorators: [{
4671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TgoTypingReplayInputComponent, decorators: [{
4688
4672
  type: Component,
4689
- args: [{ selector: 'tgo-typing-replay-input', standalone: true, imports: [CommonModule], template: "<div id=\"centerContent\">\n <div id=\"middle\" #middle>\n <div class=\"page pageTest active\">\n <div id=\"result\" tabindex=\"0\">\n <div class=\"bottom\" style=\"grid-column: 1/3\">\n <div id=\"resultReplay\">\n <div class=\"title\">\n Watch replay\n <span\n id=\"playpauseReplayButton\"\n class=\"textButton\"\n aria-label=\"Start replay\"\n data-balloon-pos=\"up\"\n style=\"display: inline-block\"\n (click)=\"playpauseReplayButtonClick()\"\n #toggleButton\n >\n <div id=\"key\" class=\"Play\" #playpauseelem>{{ playpauseelem.className }}</div>\n </span>\n <p id=\"replayStopwatch\" #replayStopwatch>0s</p>\n </div>\n <div id=\"wordsWrapper\">\n <div id=\"replayWords\" class=\"words\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Itim:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Coming+Soon:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lalezar:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;700&display=swap\";@keyframes loader{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}@keyframes caretFlashSmooth{0%,to{opacity:0}50%{opacity:1}}@keyframes caretFlashHard{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes flashKey{0%{color:#f6f6f6;background-color:#888;border-color:#888}to{color:#888;background-color:#f6f6f6;border-color:#888}}@keyframes shake{0%{transform:translate(2px) rotate(0)}50%{transform:translate(-2px) rotate(0)}to{transform:translate(2px) rotate(0)}}@keyframes flashHighlight{0%{background-color:#f6f6f6}10%{background-color:#888}40%{background-color:#888}to{background-color:#f6f6f6}}@keyframes rgb-bg{0%{background:#4cae4c}20%{background:#409eb5}40%{background:#8134f4}60%{background:#f10e19}80%{background:#ffc505}to{background:#4cae4c}}#caret,#caret.outline,#paceCaret.outline{height:1.5rem;background:#dc322f;animation:caretFlashSmooth 1s infinite;position:absolute;border-radius:.5rem;transform-origin:top left}#paceCaret{height:1.5rem;background:#888;opacity:.5;position:absolute;border-radius:.5rem;transform-origin:top left;width:2px}#caret.off,#paceCaret.off{width:0}#caret.default,#paceCaret.default{width:2px}#caret.block,#caret.outline,#paceCaret.block,#paceCaret.outline{width:.7em;border-radius:0;z-index:-1}#caret.outline,#paceCaret.outline{animation-name:none;background:transparent;border:1px solid #dc322f}#caret.block,#caret.outline,#caret.underline,#paceCaret.block,#paceCaret.outline,#paceCaret.underline{margin-left:.1rem}#caret.block.size15,#caret.outline.size15,#caret.underline.size15,#paceCaret.block.size15,#paceCaret.outline.size15,#paceCaret.underline.size15{margin-left:.15rem}#caret.block.size2,#caret.outline.size2,#caret.underline.size2,#paceCaret.block.size2,#paceCaret.outline.size2,#paceCaret.underline.size2{margin-left:.2rem}#caret.block.size3,#caret.outline.size3,#caret.underline.size3,#paceCaret.block.size3,#paceCaret.outline.size3,#paceCaret.underline.size3{margin-left:.25em}#caret.block.size4,#caret.outline.size4,#caret.underline.size4,#paceCaret.block.size4,#paceCaret.outline.size4,#paceCaret.underline.size4{margin-left:.3rem}#caret.underline,#paceCaret.underline{height:2px;width:.8em;margin-top:1.3em}#caret.underline.size125,#paceCaret.underline.size125{margin-top:1.8em}#caret.underline.size15,#paceCaret.underline.size15{margin-top:2.1em}#caret.underline.size2,#paceCaret.underline.size2{margin-top:2.7em}#caret.underline.size3,#paceCaret.underline.size3{margin-top:3.9em}#caret.underline.size4,#paceCaret.underline.size4{margin-top:5em}#caret.size125,#paceCaret.size125{transform:scale(1.25)}#caret.size15,#paceCaret.size15{transform:scale(1.45)}#caret.size2,#paceCaret.size2{transform:scale(1.9)}#caret.size3,#paceCaret.size3{transform:scale(2.8)}#caret.size4,#paceCaret.size4{transform:scale(3.7)}::ng-deep :host{scroll-padding-top:2rem;font-weight:600}::ng-deep ::placeholder{color:#888;opacity:1}::ng-deep #app{display:grid;grid-template-columns:auto minmax(0,1000px) auto;justify-items:center}::ng-deep #app.wide125{grid-template-columns:auto minmax(0,1250px) auto}::ng-deep #app.wide150{grid-template-columns:auto minmax(0,1500px) auto}::ng-deep #app.wide200{grid-template-columns:auto minmax(0,2000px) auto}::ng-deep #app.widemax{grid-template-columns:auto minmax(0,1fr) auto}::ng-deep #nocss{display:none!important;pointer-events:none}::ng-deep .ffscroll,::ng-deep #contactPopupWrapper #contactPopup,#contactPopupWrapper ::ng-deep #contactPopup,::ng-deep #supportMeWrapper #supportMe,#supportMeWrapper ::ng-deep #supportMe,::ng-deep #versionHistoryWrapper #versionHistory,#versionHistoryWrapper ::ng-deep #versionHistory,::ng-deep html{scrollbar-width:thin;scrollbar-color:#888888 transparent}::ng-deep html{overflow-y:scroll}::ng-deep a{display:inline-block;color:#888;transition:.25s}::ng-deep a:hover{color:#181819}::ng-deep a[data-link] *{pointer-events:none}::ng-deep a.button{text-decoration:none}::ng-deep #centerContent{margin:0;padding:0;min-height:300px;font-family:Roboto Mono,Vazirmatn;color:#181819;overflow-x:hidden;border:1px solid #E0E0E0}::ng-deep .customBackground{content:\"\";width:100vw;height:100vh;position:fixed;left:0;top:0;background-position:center center;background-repeat:no-repeat;z-index:-999;justify-content:center;align-items:center;display:flex}::ng-deep #backgroundLoader{height:3px;position:fixed;width:100%;background:#888;animation:loader 2s cubic-bezier(.38,.16,.57,.82) infinite;z-index:9999}::ng-deep label.checkbox span{display:block;font-size:.76rem;color:#888;margin-left:1.5rem}::ng-deep label.checkbox input{margin:0!important;cursor:pointer;width:0;height:0;display:none;-webkit-user-select:none;user-select:none}::ng-deep label.checkbox input~.customTextCheckbox{width:1.25rem;height:1.25rem;background:#e2d8be;border-radius:.25rem;display:inline-grid;margin:0 .5rem 0 0;-webkit-user-select:none;user-select:none;cursor:pointer}::ng-deep label.checkbox input~.customTextCheckbox .check{opacity:0;color:#888;transition:.125s}::ng-deep label.checkbox input:checked~.customTextCheckbox .check{opacity:1}::ng-deep #centerContent{display:grid;grid-auto-flow:row;padding:10rem 2rem 2rem;gap:2rem;align-items:center;z-index:999;grid-template-rows:auto 1fr auto;width:100%;transition:padding-top .125s}::ng-deep #centerContent.wide125{max-width:1250px}::ng-deep #centerContent.wide150{max-width:1500px}::ng-deep #centerContent.wide200{max-width:2000px}::ng-deep #centerContent.widemax{max-width:unset}::ng-deep #key{color:#f6f6f6;background-color:#888;padding:.3rem;margin:0rem .5rem;border-radius:.1rem;display:inline-block;font-size:.7rem;line-height:.7rem}::ng-deep .pageLoading{display:grid;justify-content:center}::ng-deep .pageLoading .preloader,::ng-deep .pageAccount .preloader{text-align:center;justify-self:center;display:grid}::ng-deep .pageLoading .preloader .barWrapper,::ng-deep .pageAccount .preloader .barWrapper{display:grid;gap:1rem;grid-row:1;grid-column:1}::ng-deep .pageLoading .preloader .barWrapper .bar,::ng-deep .pageAccount .preloader .barWrapper .bar{width:20rem;height:.5rem;background:#e2d8be;border-radius:.5rem}::ng-deep .pageLoading .preloader .barWrapper .bar .fill,::ng-deep .pageAccount .preloader .barWrapper .bar .fill{height:100%;width:0%;background:#888;border-radius:.5rem}::ng-deep .pageLoading .preloader .icon,::ng-deep .pageAccount .preloader .icon{grid-row:1;grid-column:1;font-size:2rem;color:#888;margin-bottom:1rem}::ng-deep .devIndicator{position:fixed;font-size:3rem;color:#888;opacity:.25;z-index:-1}::ng-deep .devIndicator.tl{top:2rem;left:2rem}::ng-deep .devIndicator.tr{top:2rem;right:2rem}::ng-deep .devIndicator.bl{bottom:2rem;left:2rem}::ng-deep .devIndicator.br{bottom:2rem;right:2rem}::ng-deep *{box-sizing:border-box}::ng-deep .hidden{display:none!important}::ng-deep .invisible{opacity:0!important;pointer-events:none!important}::ng-deep .button{color:#181819;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;background:#e2d8be;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem}::ng-deep .button.active{background:#888;color:#f6f6f6}::ng-deep .button.active:hover{background:#181819}::ng-deep .button.active:active{background:#888;color:#f6f6f6}::ng-deep .button.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .button.disabled:hover{background:#181819;outline:none}::ng-deep .button.disabled:active{background:#888;color:#f6f6f6}::ng-deep .button:hover{color:#f6f6f6;background:#181819;outline:none}::ng-deep .button:focus{outline:2px solid #181819}::ng-deep .button:active{background:#888;color:#f6f6f6}::ng-deep .textButton{color:#888;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem;width:max-content;width:-moz-max-content;display:grid;grid-auto-flow:column;gap:.25rem;text-decoration:none}::ng-deep .textButton .fas,::ng-deep .textButton .far{display:grid;place-content:center center}::ng-deep .textButton.active{color:#888}::ng-deep .textButton.active:hover{color:#181819}::ng-deep .textButton.active:active{color:#888}::ng-deep .textButton.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .textButton.disabled:hover{background:#181819;outline:none}::ng-deep .textButton.disabled:active{background:#888;color:#f6f6f6}::ng-deep .textButton:hover{color:#181819}::ng-deep .textButton:focus{color:#181819;outline:none}::ng-deep .textButton:active{color:#888}::ng-deep .scrollToTopButton{bottom:2rem;right:2rem;position:fixed;font-size:2rem;width:4rem;height:4rem;text-align:center;line-height:4rem;background:#e2d8be;border-radius:99rem;z-index:99;cursor:pointer;color:#888;transition:.25s}::ng-deep .scrollToTopButton:hover{background:#181819;color:#f6f6f6}::ng-deep .inputAndIndicator{position:relative}::ng-deep .inputAndIndicator input{width:100%}::ng-deep .inputAndIndicator .statusIndicator{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}::ng-deep .inputAndIndicator .statusIndicator .indicator{grid-column:1/2;grid-row:1/2}::ng-deep .inputAndIndicator .statusIndicator .indicator.level-1{color:#d33682}::ng-deep .inputAndIndicator .statusIndicator .indicator.level0{color:#888}::ng-deep .inputAndIndicator .statusIndicator .indicator.level1{color:#888}::ng-deep .configureAPI.button{position:fixed;left:2rem;bottom:2rem;display:grid;grid-auto-flow:column;gap:.5rem;text-decoration:none;z-index:999999999}::ng-deep .avatar{transition:opacity .125s,filter .125s,webkit-filter .125s;width:1.25rem;height:1.25rem;border-radius:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}::ng-deep .badge{background:#888;color:#181819;border-radius:.25rem;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:max-content auto;align-items:baseline}::ng-deep .badge .fas,::ng-deep .badge .far{margin:.15rem .3rem;font-size:.9em}::ng-deep .badge .text{margin-top:.15rem;margin-bottom:.15rem;margin-right:.3rem}input,textarea{outline:none;border:none;border-radius:.5rem;background:#e2d8be;color:#181819;padding:.5rem;font-size:1rem;font-family:Roboto Mono,Vazirmatn;caret-color:#888}textarea{resize:vertical}input[type=range]{-webkit-appearance:none;padding:0;width:100%;height:1rem;border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-webkit-slider-thumb:hover{cursor:grab}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-moz-range-thumb:hover{cursor:grab}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=color]{height:3px;opacity:0;padding:0;margin:0;position:absolute;pointer-events:none}input:disabled,textarea:disabled{opacity:.33}::-moz-color-swatch{border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:none;outline:2px solid #888888;font-family:inherit;-webkit-text-fill-color:#181819;-webkit-box-shadow:0 0 0 1000000px #e2d8be inset;caret-color:#181819}.select2-dropdown{background-color:#f6f6f6;color:#181819;outline:none}.select2-container--default.select2-container--disabled .select2-selection--single{background:#e2d8be!important;opacity:.33;cursor:default;pointer-events:none}.select2-selection{background:#e2d8be;height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#181819;outline:none}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#181819;color:#f6f6f6}.select2-container--default .select2-results__option--selected{background-color:#888;color:#f6f6f6}.select2-container--open .select2-dropdown--below,.select2-container--open .select2-dropdown--above{border-color:#e2d8be;background:#f6f6f6;color:#888;border-radius:.5rem}.select2-container--default .select2-selection--single{color:#181819;background:#e2d8be;outline:none;border:none;height:auto;border-radius:.5rem}.select2-container--default.select2-container--disabled .select2-selection--single{background:#5051517a}.select2-selection:focus{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-selection:active{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:35px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent transparent transparent}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#e2d8be;background:#f6f6f6;color:#181819;border-radius:.5rem}.select2-container--default .select2-results__group{color:#181819}.select2-container--default .select2-selection--multiple{background:#e2d8be;border-radius:.5rem;color:#181819;outline:none;border:none}.select2-selection__choice__display{color:#f6f6f6}.select2-selection__choice__remove{color:#888!important}.select2-container .select2-search--inline .select2-search__field{margin:0;border-radius:0;font-family:Roboto Mono,Vazirmatn;line-height:1rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border:none}.select2-container--default .select2-selection--multiple{border:none;padding:.5rem;font-family:Roboto Mono,Vazirmatn}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#888;border:none;border-radius:.25rem;box-sizing:border-box;display:inline-block;margin-left:0;margin-top:0;margin-right:.5rem;padding:0;padding-left:1.25rem;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:1.5rem;border-right:1px solid #F6F6F6;color:#f6f6f6!important;transition:.125s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#181819}.popupWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:center;padding:2rem 0}#customTextPopupWrapper #customTextPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:60vw}#customTextPopupWrapper #customTextPopup .buttonsTop{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup .savedTexts{display:grid;gap:.5rem}#customTextPopupWrapper #customTextPopup .savedTexts .title{color:#888}#customTextPopupWrapper #customTextPopup .savedTexts .buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup textarea{background:#e2d8be;padding:1rem;color:#888;border:none;outline:none;font-size:1rem;font-family:Roboto Mono,Vazirmatn;width:100%;border-radius:.5rem;resize:vertical;height:200px;color:#181819;overflow-x:hidden;overflow-y:scroll}#customTextPopupWrapper #customTextPopup .inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;justify-items:left}#customTextPopupWrapper #customTextPopup .randomInputFields{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;width:100%;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px;max-height:80vh;overflow:auto}#savedTextsPopupWrapper #savedTextsPopup .title{font-size:1.5rem;color:#888}#savedTextsPopupWrapper #savedTextsPopup .list{display:grid;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText{display:grid;gap:.5rem;grid-template-columns:1fr 3rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText .button .fas{pointer-events:none}#wordFilterPopupWrapper #wordFilterPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#wordFilterPopupWrapper #wordFilterPopup input{width:100%}#wordFilterPopupWrapper #wordFilterPopup .group{display:grid;gap:.5rem}#wordFilterPopupWrapper #wordFilterPopup .lengthgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:1rem}#wordFilterPopupWrapper #wordFilterPopup .tip{color:#888;font-size:.8rem}#wordFilterPopupWrapper #wordFilterPopup .loadingIndicator{justify-self:center}#quoteRatePopupWrapper #quoteRatePopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:2rem;width:800px;display:grid;grid-template-areas:\"warning warning warning\" \"spacer2 spacer2 spacer2\" \"ratingStats ratingStats submitButton\" \"spacer spacer spacer\" \"quote quote quote\";grid-template-columns:auto 1fr;color:#181819}#quoteRatePopupWrapper #quoteRatePopup .warning{grid-area:warning}#quoteRatePopupWrapper #quoteRatePopup .warning span{color:#d33682}#quoteRatePopupWrapper #quoteRatePopup .spacer,#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer;width:100%;height:.1rem;border-radius:.5rem;background:#888;opacity:.25}#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer2}#quoteRatePopupWrapper #quoteRatePopup .submitButton{font-size:2rem;grid-area:submitButton;color:#888}#quoteRatePopupWrapper #quoteRatePopup .submitButton:hover{color:#181819}#quoteRatePopupWrapper #quoteRatePopup .top{color:#888;font-size:.8rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;grid-area:ratingStats}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .top{font-size:1rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .val{font-size:2.25rem}#quoteRatePopupWrapper #quoteRatePopup .quote{display:grid;grid-area:quote;gap:1rem;grid-template-areas:\"text text text\" \"id length source\";grid-template-columns:1fr 1fr 3fr}#quoteRatePopupWrapper #quoteRatePopup .quote .text{grid-area:text}#quoteRatePopupWrapper #quoteRatePopup .quote .id{grid-area:id}#quoteRatePopupWrapper #quoteRatePopup .quote .length{grid-area:length}#quoteRatePopupWrapper #quoteRatePopup .quote .source{grid-area:source}#quoteRatePopupWrapper #quoteRatePopup .stars{display:grid;color:#888;font-size:2rem;grid-template-columns:auto auto auto auto auto;justify-content:flex-start;align-items:center;cursor:pointer}#quoteRatePopupWrapper #quoteRatePopup .star{transition:.125s}#quoteRatePopupWrapper #quoteRatePopup i{pointer-events:none}#quoteRatePopupWrapper #quoteRatePopup .star.active{color:#181819}#simplePopupWrapper #simplePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#simplePopupWrapper #simplePopup .title{font-size:1.5rem;color:#888}#simplePopupWrapper #simplePopup .inputs{display:grid;gap:1rem}#simplePopupWrapper #simplePopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup{background:#f6f6f6;border-radius:.5rem;padding:1rem;display:grid;gap:1rem;width:calc(100vw - 2rem);max-width:400px}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .title{font-size:1.5rem;color:#888}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .inputs{display:grid;gap:1rem}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .group{display:grid;gap:.5rem}#customWordAmountPopupWrapper #customWordAmountPopup,#customWordAmountPopupWrapper #customTestDurationPopup,#customWordAmountPopupWrapper #practiseWordsPopup,#customWordAmountPopupWrapper #pbTablesPopup,#customTestDurationPopupWrapper #customWordAmountPopup,#customTestDurationPopupWrapper #customTestDurationPopup,#customTestDurationPopupWrapper #practiseWordsPopup,#customTestDurationPopupWrapper #pbTablesPopup,#practiseWordsPopupWrapper #customWordAmountPopup,#practiseWordsPopupWrapper #customTestDurationPopup,#practiseWordsPopupWrapper #practiseWordsPopup,#practiseWordsPopupWrapper #pbTablesPopup,#pbTablesPopupWrapper #customWordAmountPopup,#pbTablesPopupWrapper #customTestDurationPopup,#pbTablesPopupWrapper #practiseWordsPopup,#pbTablesPopupWrapper #pbTablesPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#customWordAmountPopupWrapper #customWordAmountPopup .title,#customWordAmountPopupWrapper #customTestDurationPopup .title,#customWordAmountPopupWrapper #practiseWordsPopup .title,#customWordAmountPopupWrapper #pbTablesPopup .title,#customTestDurationPopupWrapper #customWordAmountPopup .title,#customTestDurationPopupWrapper #customTestDurationPopup .title,#customTestDurationPopupWrapper #practiseWordsPopup .title,#customTestDurationPopupWrapper #pbTablesPopup .title,#practiseWordsPopupWrapper #customWordAmountPopup .title,#practiseWordsPopupWrapper #customTestDurationPopup .title,#practiseWordsPopupWrapper #practiseWordsPopup .title,#practiseWordsPopupWrapper #pbTablesPopup .title,#pbTablesPopupWrapper #customWordAmountPopup .title,#pbTablesPopupWrapper #customTestDurationPopup .title,#pbTablesPopupWrapper #practiseWordsPopup .title,#pbTablesPopupWrapper #pbTablesPopup .title{font-size:1.5rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .tip,#customWordAmountPopupWrapper #customTestDurationPopup .tip,#customWordAmountPopupWrapper #practiseWordsPopup .tip,#customWordAmountPopupWrapper #pbTablesPopup .tip,#customTestDurationPopupWrapper #customWordAmountPopup .tip,#customTestDurationPopupWrapper #customTestDurationPopup .tip,#customTestDurationPopupWrapper #practiseWordsPopup .tip,#customTestDurationPopupWrapper #pbTablesPopup .tip,#practiseWordsPopupWrapper #customWordAmountPopup .tip,#practiseWordsPopupWrapper #customTestDurationPopup .tip,#practiseWordsPopupWrapper #practiseWordsPopup .tip,#practiseWordsPopupWrapper #pbTablesPopup .tip,#pbTablesPopupWrapper #customWordAmountPopup .tip,#pbTablesPopupWrapper #customTestDurationPopup .tip,#pbTablesPopupWrapper #practiseWordsPopup .tip,#pbTablesPopupWrapper #pbTablesPopup .tip{font-size:.75rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .text,#customWordAmountPopupWrapper #customTestDurationPopup .text,#customWordAmountPopupWrapper #practiseWordsPopup .text,#customWordAmountPopupWrapper #pbTablesPopup .text,#customTestDurationPopupWrapper #customWordAmountPopup .text,#customTestDurationPopupWrapper #customTestDurationPopup .text,#customTestDurationPopupWrapper #practiseWordsPopup .text,#customTestDurationPopupWrapper #pbTablesPopup .text,#practiseWordsPopupWrapper #customWordAmountPopup .text,#practiseWordsPopupWrapper #customTestDurationPopup .text,#practiseWordsPopupWrapper #practiseWordsPopup .text,#practiseWordsPopupWrapper #pbTablesPopup .text,#pbTablesPopupWrapper #customWordAmountPopup .text,#pbTablesPopupWrapper #customTestDurationPopup .text,#pbTablesPopupWrapper #practiseWordsPopup .text,#pbTablesPopupWrapper #pbTablesPopup .text{font-size:1rem;color:#181819}#customWordAmountPopupWrapper #customTestDurationPopup .preview,#customTestDurationPopupWrapper #customTestDurationPopup .preview,#practiseWordsPopupWrapper #customTestDurationPopup .preview,#pbTablesPopupWrapper #customTestDurationPopup .preview{font-size:.75rem;color:#888}#googleSignUpPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#googleSignUpPopup .title{font-size:1.5rem;color:#888}#googleSignUpPopup .inputAndIndicator{position:relative}#googleSignUpPopup .inputAndIndicator input{width:100%}#googleSignUpPopup .inputAndIndicator .checkStatus{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available,#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{grid-column:1/2;grid-row:1/2}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available{color:#888}#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{color:#d33682}#shareTestSettingsPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:500px}#shareTestSettingsPopup .title{font-size:1.5rem;color:#888}#shareTestSettingsPopup .subgroup{padding-left:2rem}#shareTestSettingsPopup .tooLongWarning{font-size:.75rem;color:#d33682}#cookiePopupWrapper .extensionMessage{position:fixed;right:2rem;bottom:2rem;padding:1rem;width:465px;font-size:.75rem}#cookiePopupWrapper #cookiePopup{position:fixed;right:2rem;bottom:2rem;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:465px;z-index:100000001;-webkit-user-select:none;user-select:none}#cookiePopupWrapper #cookiePopup .main{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .title{font-size:1.5rem;color:#888}#cookiePopupWrapper #cookiePopup .buttons{margin-top:.25rem;display:grid;grid-auto-flow:column;gap:1rem;grid-template-columns:1fr 2.25rem}#cookiePopupWrapper #cookiePopup .settings{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .settings .customTextCheckbox{background:#888}#cookiePopupWrapper #cookiePopup .settings .cookie label{display:grid;gap:0 1rem;grid-template-columns:1fr min-content;grid-template-areas:\"title check\" \"description check\"}#cookiePopupWrapper #cookiePopup .settings .cookie label .title{grid-area:title;font-size:1.25rem}#cookiePopupWrapper #cookiePopup .settings .cookie label .description{grid-area:description}#cookiePopupWrapper #cookiePopup .settings .cookie label .customTextCheckbox{place-self:center;grid-area:check}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label{grid-template-columns:1fr;grid-template-areas:\"title\" \"description\"}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label a{margin-top:.25rem}#videoAdPopupWrapper{display:flex;padding:2rem}#videoAdPopupWrapper #videoAdPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:1rem;width:100%;max-width:1000px;aspect-ratio:16/9;display:grid;grid-template-areas:\"middle\"}#videoAdPopupWrapper #videoAdPopup .preloader{grid-area:middle;display:grid;place-items:center center;gap:1rem;font-size:2rem;color:#888;height:max-content;align-self:center}#videoAdPopupWrapper #videoAdPopup .video{grid-area:middle}#pbTablesPopupWrapper #pbTablesPopup{min-width:50rem;max-height:calc(100vh - 10rem);overflow-y:scroll}#pbTablesPopupWrapper #pbTablesPopup .title{color:#181819}#pbTablesPopupWrapper #pbTablesPopup table{border-spacing:0;border-collapse:collapse;color:#181819}#pbTablesPopupWrapper #pbTablesPopup table td{padding:.5rem}#pbTablesPopupWrapper #pbTablesPopup table thead{color:#888;font-size:.75rem}#pbTablesPopupWrapper #pbTablesPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#pbTablesPopupWrapper #pbTablesPopup table td.infoIcons span{margin:0 .1rem}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton{opacity:.25;transition:.25s;cursor:pointer}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton:hover{opacity:1}#pbTablesPopupWrapper #pbTablesPopup table .sub{opacity:.5}#pbTablesPopupWrapper #pbTablesPopup table td{text-align:right}#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(6),#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(7){text-align:center}#pbTablesPopupWrapper #pbTablesPopup table tbody td:nth-child(1){font-size:1.5rem}#customThemeShareWrapper #customThemeShare{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSearchPopupWrapper .highlight{color:#888}#quoteSearchPopupWrapper #quoteSearchPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:80vw;max-width:1000px;height:80vh;grid-template-rows:auto auto auto 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop{display:flex;justify-content:space-between}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .title{font-size:1.5rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons{width:33%;display:grid;gap:.5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons .button{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{display:grid;grid-template-columns:1.5fr 1fr max-content;gap:1rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #searchBox{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #toggleShowFavorites{height:100%;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem}#quoteSearchPopupWrapper #quoteSearchPopup #extraResults{text-align:center;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults{display:grid;gap:.5rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult{display:grid;grid-template-columns:1fr 1fr 3fr 0fr 0fr;grid-template-areas:\"text text text text text\" \"id len source report favorite\";grid-auto-rows:auto;width:100%;gap:.5rem;transition:.25s;padding:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;height:min-content}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .text{grid-area:text;overflow:visible;color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .id{grid-area:id;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .length{grid-area:len;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .source{grid-area:source;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .resultChevron{grid-area:chevron;display:flex;align-items:center;justify-items:center;color:#888;font-size:2rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report{grid-area:report;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite{grid-area:favorite;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .sub{opacity:.5}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult:hover{background:#e2d8be;border-radius:5px}#settingsImportWrapper #settingsImport{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSubmitPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:100%;max-height:40rem;overflow-y:scroll}#quoteSubmitPopup label{color:#888;margin-bottom:-1rem}#quoteSubmitPopup .title{font-size:1.5rem;color:#888}#quoteSubmitPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteSubmitPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteSubmitPopup .characterCount.red{color:#d33682}#apeKeysPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;width:1000px;max-width:calc(100vw - 4rem);min-height:18rem;overflow-y:scroll;grid-template-rows:max-content auto;align-items:baseline;gap:1rem}#apeKeysPopup .top{display:grid;grid-template-columns:1fr auto}#apeKeysPopup .top .title{font-size:1.5rem;color:#888}#apeKeysPopup .top .button{padding:.4rem 2rem}#apeKeysPopup .textButton{justify-content:center}#apeKeysPopup .keyButtons{display:grid;grid-auto-flow:column;gap:1rem}#apeKeysPopup .keyButtons .button{width:3rem}#apeKeysPopup table{width:100%;border-spacing:0;border-collapse:collapse}#apeKeysPopup table tr td:first-child{text-align:center}#apeKeysPopup table tr.me td{color:#888}#apeKeysPopup table td{padding:.5rem}#apeKeysPopup table thead{color:#888;font-size:.75rem}#apeKeysPopup table thead td{padding:.5rem;background:#f6f6f6;position:-webkit-sticky;position:sticky;top:0;z-index:99}#apeKeysPopup table tbody{color:#181819}#apeKeysPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#apeKeysPopup table tfoot td{padding:1rem .5rem;position:-webkit-sticky;position:sticky;bottom:-5px;background:#f6f6f6;color:#888;z-index:4}#apeKeysPopup table tr td:first-child{padding-left:1rem}#apeKeysPopup table tr td:last-child{padding-right:1rem}#quoteApprovePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;height:80vh;grid-template-rows:auto 1fr}#quoteApprovePopup .top{display:flex;justify-content:space-between}#quoteApprovePopup .top .title{font-size:1.5rem;color:#888}#quoteApprovePopup .top .button{width:33%}#quoteApprovePopup .quotes{display:grid;gap:1rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteApprovePopup .quotes .quote{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto 2rem;width:100%;gap:1rem;transition:.25s;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:min-content;margin-bottom:1rem}#quoteApprovePopup .quotes .quote .text{grid-column:1/2;grid-row:1/2;overflow:visible;color:#181819;resize:vertical;min-height:4rem}#quoteApprovePopup .quotes .quote .source{grid-column:1/2;grid-row:2/3;color:#181819}#quoteApprovePopup .quotes .quote .buttons{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;grid-column:2/3;grid-row:1/4;color:#888}#quoteApprovePopup .quotes .quote .bottom{display:flex;justify-content:space-around;color:#888}#quoteApprovePopup .quotes .quote .bottom .length.red{color:#d33682}#quoteApprovePopup .quotes .quote .sub{opacity:.5}#quoteApprovePopup .quotes .searchResult:hover{background:#e2d8be;border-radius:5px}#quoteReportPopupWrapper #quoteReportPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:auto;max-height:40rem;overflow-y:scroll;width:calc(100% - 4rem);margin-left:2rem;max-width:800px}#quoteReportPopupWrapper #quoteReportPopup label{color:#888;margin-bottom:-1rem}#quoteReportPopupWrapper #quoteReportPopup .quote{font-size:1.5rem}#quoteReportPopupWrapper #quoteReportPopup .title{font-size:1.5rem;color:#888}#quoteReportPopupWrapper #quoteReportPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteReportPopupWrapper #quoteReportPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteReportPopupWrapper #quoteReportPopup .characterCount.red{color:#d33682}#resultEditTagsPanelWrapper #resultEditTagsPanel{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll;width:500px}#resultEditTagsPanelWrapper #resultEditTagsPanel .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}#versionHistoryWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:start;padding:5rem 0}#versionHistoryWrapper #versionHistory{width:75vw;height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#versionHistoryWrapper #versionHistory .tip{text-align:center;color:#888}#versionHistoryWrapper #versionHistory .releases{display:grid;gap:4rem}#versionHistoryWrapper #versionHistory .releases .release{display:grid;grid-template-areas:\"title date\" \"body body\"}#versionHistoryWrapper #versionHistory .releases .release .title{grid-area:title;font-size:2rem;color:#888}#versionHistoryWrapper #versionHistory .releases .release .date{grid-area:date;text-align:right;color:#888;align-self:center}#versionHistoryWrapper #versionHistory .releases .release .body{grid-area:body;color:#181819}#versionHistoryWrapper #versionHistory .releases .release:last-child{margin-bottom:2rem}#supportMeWrapper #supportMe{width:900px;overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem}#supportMeWrapper #supportMe .title{font-size:1.5rem;color:#888}#supportMeWrapper #supportMe .text{color:#181819}#supportMeWrapper #supportMe .subtext{color:#888;font-size:.75rem}#supportMeWrapper #supportMe .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#supportMeWrapper #supportMe .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;gap:1rem;text-decoration:none}#supportMeWrapper #supportMe .buttons .button .text{transition:.25s}#supportMeWrapper #supportMe .buttons .button:hover .text{color:#f6f6f6}#supportMeWrapper #supportMe .buttons .button .icon{font-size:3rem;line-height:3rem}#contactPopupWrapper #contactPopup{overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem;margin:0 2rem;max-width:900px}#contactPopupWrapper #contactPopup .title{font-size:1.5rem;line-height:2rem;color:#888}#contactPopupWrapper #contactPopup .text{color:#181819}#contactPopupWrapper #contactPopup .text span{color:#d33682}#contactPopupWrapper #contactPopup .subtext{color:#888;font-size:.75rem;grid-area:subtext}#contactPopupWrapper #contactPopup .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr}#contactPopupWrapper #contactPopup .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;text-decoration:none;grid-template-areas:\"icon textgroup\";grid-template-columns:auto 1fr;text-align:left;align-items:center}#contactPopupWrapper #contactPopup .buttons .button .textGroup{grid-area:textgroup}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1.5rem;line-height:2rem;transition:.25s}#contactPopupWrapper #contactPopup .buttons .button:hover .text{color:#f6f6f6}#contactPopupWrapper #contactPopup .buttons .button .icon{grid-area:icon;font-size:2rem;line-height:2rem;padding:0 1rem}#presetWrapper #presetEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#presetWrapper #presetEdit .title{font-size:1.5rem;color:#888}#tagsWrapper #tagsEdit,#tagsWrapper #newResultFilterPresetPopup,#tagsWrapper #editProfilePopup,#newResultFilterPresetPopupWrapper #tagsEdit,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup,#newResultFilterPresetPopupWrapper #editProfilePopup,#editProfilePopupWrapper #tagsEdit,#editProfilePopupWrapper #newResultFilterPresetPopup,#editProfilePopupWrapper #editProfilePopup{max-height:90vh;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#tagsWrapper #tagsEdit .title,#tagsWrapper #newResultFilterPresetPopup .title,#tagsWrapper #editProfilePopup .title,#newResultFilterPresetPopupWrapper #tagsEdit .title,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup .title,#newResultFilterPresetPopupWrapper #editProfilePopup .title,#editProfilePopupWrapper #tagsEdit .title,#editProfilePopupWrapper #newResultFilterPresetPopup .title,#editProfilePopupWrapper #editProfilePopup .title{font-size:1.5rem;color:#888}#editProfilePopup{width:100%;max-width:600px}#editProfilePopup label{color:#888}#editProfilePopup input{width:100%}#editProfilePopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem;max-height:10rem}#editProfilePopup .socialURL{display:flex}#editProfilePopup .socialURL>p{margin-block:.5rem;margin-inline-end:.5rem}#editProfilePopup .badgeSelectionContainer{display:flex;flex-wrap:wrap}#editProfilePopup .badgeSelectionItem{width:max-content;opacity:25%;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem}#editProfilePopup .badgeSelectionItem.selected,#editProfilePopup .badgeSelectionItem:hover{opacity:100%}#customThemesWrapper #customThemesEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}::ng-deep #timerWrapper{opacity:0;transition:.25s;z-index:-1;position:relative;z-index:99}::ng-deep #timerWrapper #timer{position:fixed;top:0;left:0;width:100vw;height:.5rem;background:#000;z-index:-1}::ng-deep #timerWrapper #timer.timerMain{background:#888}::ng-deep #timerWrapper #timer.timerSub{background:#888}::ng-deep #timerWrapper #timer.timerText{background:#181819}::ng-deep .pageTest{position:relative}::ng-deep .pageTest .ssWatermark{font-size:1.25rem;color:#888;line-height:1rem;text-align:right}::ng-deep .pageTest #timerNumber{pointer-events:none;transition:.25s;color:#000;line-height:0;z-index:-1;text-align:center;left:0;width:100%;position:relative;font-size:10rem;opacity:0;width:0;height:0;margin:0 auto;display:grid;justify-content:center;bottom:6rem;transition:none}::ng-deep .pageTest #largeLiveWpmAndAcc{font-size:10rem;color:#000;width:100%;left:0;text-align:center;z-index:-1;height:0;line-height:0;top:5rem;position:relative;display:grid;grid-auto-flow:column;justify-content:center;gap:5rem;width:0;margin:0 auto}::ng-deep .pageTest #largeLiveWpmAndAcc #liveWpm{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveAcc{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveBurst{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc.timerMain,::ng-deep .pageTest #timerNumber.timerMain{color:#888}::ng-deep .pageTest #timer.timerMain{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerSub,::ng-deep .pageTest #timerNumber.timerSub{color:#888}::ng-deep .pageTest #timer.timerSub{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerText,::ng-deep .pageTest #timerNumber.timerText{color:#181819}::ng-deep .pageTest #timer.timerText{background:#181819}::ng-deep #words,::ng-deep .words{height:fit-content;height:-moz-fit-content;display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none;padding-bottom:1em}::ng-deep #words .newline,::ng-deep .words .newline{width:inherit}::ng-deep #words letter,::ng-deep .words letter{border-bottom-style:solid;border-bottom-width:.05em;border-bottom-color:transparent}::ng-deep #words letter.dead,::ng-deep .words letter.dead{border-bottom-width:.05em;border-bottom-color:#888}::ng-deep #words letter.tabChar,::ng-deep #words letter.nlChar,::ng-deep .words letter.tabChar,::ng-deep .words letter.nlChar{margin:0 .25rem;opacity:.2}::ng-deep #words.rightToLeftTest,::ng-deep .words.rightToLeftTest{direction:rtl}::ng-deep #words.rightToLeftTest .word,::ng-deep .words.rightToLeftTest .word{direction:rtl}::ng-deep #words.withLigatures letter,::ng-deep .words.withLigatures letter{display:inline}::ng-deep #words.blurred,::ng-deep .words.blurred{opacity:.25;filter:blur(4px);-webkit-filter:blur(4px)}::ng-deep #words.flipped .word,::ng-deep .words.flipped .word{color:#181819}::ng-deep #words.flipped .word letter.dead,::ng-deep .words.flipped .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped .word letter.correct,::ng-deep .words.flipped .word letter.correct{color:#888}::ng-deep #words.flipped .word letter.corrected,::ng-deep .words.flipped .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped .word letter.extraCorrected,::ng-deep .words.flipped .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.colorfulMode .word letter.dead,::ng-deep .words.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.colorfulMode .word letter.correct,::ng-deep .words.colorfulMode .word letter.correct{color:#888}::ng-deep #words.colorfulMode .word letter.corrected,::ng-deep .words.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.extraCorrected,::ng-deep .words.colorfulMode .word letter.extraCorrected{border-right:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.incorrect,::ng-deep .words.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.colorfulMode .word letter.incorrect.extra,::ng-deep .words.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.flipped.colorfulMode .word,::ng-deep .words.flipped.colorfulMode .word{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.dead,::ng-deep .words.flipped.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped.colorfulMode .word letter.correct,::ng-deep .words.flipped.colorfulMode .word letter.correct{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.corrected,::ng-deep .words.flipped.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.extraCorrected,::ng-deep .words.flipped.colorfulMode .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.incorrect,::ng-deep .words.flipped.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.flipped.colorfulMode .word letter.incorrect.extra,::ng-deep .words.flipped.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.tape.size125 .word,::ng-deep .words.tape.size125 .word{margin:.31rem .62rem .31rem 0}::ng-deep #words.tape.size15 .word,::ng-deep .words.tape.size15 .word{margin:.37rem .74rem .37rem 0}::ng-deep #words.tape.size2 .word,::ng-deep .words.tape.size2 .word{margin:.5rem 1rem .5rem 0}::ng-deep #words.tape.size3 .word,::ng-deep .words.tape.size3 .word{margin:.75rem 1.5rem .75rem 0}::ng-deep #words.tape.size4 .word,::ng-deep .words.tape.size4 .word{margin:1rem 2rem 1rem 0}::ng-deep #words.tape.indicateTyposBelow.size125 .word,::ng-deep .words.tape.indicateTyposBelow.size125 .word{margin:.31rem .62rem .93rem 0}::ng-deep #words.tape.indicateTyposBelow.size15 .word,::ng-deep .words.tape.indicateTyposBelow.size15 .word{margin:.37rem .74rem 1.11rem 0}::ng-deep #words.tape.indicateTyposBelow.size2 .word,::ng-deep .words.tape.indicateTyposBelow.size2 .word{margin:.5rem 1rem 1.5rem 0}::ng-deep #words.tape.indicateTyposBelow.size3 .word,::ng-deep .words.tape.indicateTyposBelow.size3 .word{margin:.75rem 1.5rem 2.25rem 0}::ng-deep #words.tape.indicateTyposBelow.size4 .word,::ng-deep .words.tape.indicateTyposBelow.size4 .word{margin:1rem 2rem 3rem 0}::ng-deep .word{margin:.25rem;color:#888;font-variant:no-common-ligatures;border-bottom:2px solid transparent;line-height:1rem}::ng-deep .word letter{display:inline-block}::ng-deep .word.lastbeforenewline:after{font-family:\"Font Awesome 5 Free\";font-weight:600;content:\"\\f107\";margin-left:.5rem;opacity:.25}::ng-deep .word .wordInputAfter{opacity:1;position:absolute;background:#888;color:#f6f6f6;padding:.5rem;margin-left:-.5rem;border-radius:.5rem;transition:.25s;text-shadow:none;top:-.5rem;z-index:10;cursor:text}::ng-deep .word .wordInputAfter .speed{font-size:.75rem}::ng-deep #words.size125 .word{line-height:1.25rem;font-size:max(1.25rem,24px);margin:.31rem}::ng-deep #words.size15 .word{line-height:1.5rem;font-size:max(1.5rem,24px);margin:.37rem}::ng-deep #words.size2 .word{line-height:2rem;font-size:max(2rem,24px);margin:.5rem}::ng-deep #words.size3 .word{line-height:3rem;font-size:max(3rem,24px);margin:.75rem}::ng-deep #words.size4 .word{line-height:4rem;font-size:max(4rem,24px);margin:1rem}::ng-deep #words.nospace .word{margin:.5rem 0}::ng-deep #words.arrows .word{margin:.5rem 0}::ng-deep #words.arrows .word letter{margin:0 .25rem}::ng-deep .word.error{border-bottom:2px solid #d33682;text-shadow:1px 0px 0px #F6F6F6,-1px 0px 0px #F6F6F6,0px 1px 0px #F6F6F6,1px 1px 0px #F6F6F6,-1px 1px 0px #F6F6F6}::ng-deep #words.noErrorBorder .word.error,::ng-deep #resultWordsHistory.noErrorBorder .word.error{text-shadow:none}::ng-deep .word letter.correct{color:#181819}::ng-deep .word letter.corrected{color:#181819;border-bottom:2px dotted #888888}::ng-deep .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep .word letter.incorrect{color:#d33682;position:relative}::ng-deep .word letter.incorrect hint{position:absolute;bottom:-1em;color:#181819;line-height:initial;font-size:.75em;text-shadow:none;padding:1px;left:0;opacity:.5;text-align:center;width:100%;display:grid;justify-content:center}::ng-deep .word letter.incorrect.extra{color:#9b225c}::ng-deep .word letter.missing{opacity:.5}::ng-deep #words.flipped.colorfulMode .word.error,::ng-deep #words.colorfulMode .word.error{border-bottom:2px solid #d33682}::ng-deep #wordsInput{opacity:0;padding:0;margin:0;border:none;outline:none;display:block;resize:none;position:fixed;z-index:-1;cursor:default;pointer-events:none}::ng-deep #capsWarning{background:#888;color:#f6f6f6;display:table;position:absolute;left:50%;transform:translate(-50%) translateY(-50%);padding:1rem;border-radius:.5rem;transition:.125s;z-index:999;pointer-events:none;top:-2.5rem}::ng-deep #capsWarning i{margin-right:.5rem}::ng-deep #result{display:grid;gap:1rem;align-items:center;grid-template-columns:auto 1fr;grid-template-areas:\"stats chart\" \"morestats morestats\"}::ng-deep #result:focus{outline:none}::ng-deep #result .buttons{display:grid;grid-auto-flow:column;gap:1rem;justify-content:center;grid-column:1/3}::ng-deep #result .ssWatermark{grid-column:1/3}::ng-deep #result #resultWordsHistory,::ng-deep #result #resultReplay{color:#888;margin-bottom:1rem}::ng-deep #result #resultWordsHistory .textButton,::ng-deep #result #resultReplay .textButton{padding:0;margin-left:.5rem}::ng-deep #result #resultWordsHistory .heatmapLegend,::ng-deep #result #resultReplay .heatmapLegend{margin-left:.5rem;display:inline-grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.75rem;color:#888;width:min-content}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes,::ng-deep #result #resultReplay .heatmapLegend .boxes{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box,::ng-deep #result #resultReplay .heatmapLegend .boxes .box{height:1rem;color:#f6f6f6;padding:.1rem .5rem;white-space:nowrap;line-height:.75rem;display:grid;place-content:center center}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(1),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(1){background:#d33682;border-radius:.5rem 0 0 .5rem}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(2),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(2){background:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(3),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(3){background:#888}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(4),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(4){background:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(5),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(5){background:#888;border-radius:0 .5rem .5rem 0}::ng-deep #result #resultWordsHistory .title,::ng-deep #result #resultReplay .title{-webkit-user-select:none;user-select:none;margin-bottom:.25rem}::ng-deep #result #resultWordsHistory .words,::ng-deep #result #resultReplay .words{display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none}::ng-deep #result #resultWordsHistory .words .word,::ng-deep #result #resultReplay .words .word{position:relative;margin:.18rem .6rem .15rem 0}::ng-deep #result #resultWordsHistory .words .word letter.correct,::ng-deep #result #resultReplay .words .word letter.correct{color:#181819}::ng-deep #result #resultWordsHistory .words .word letter.incorrect,::ng-deep #result #resultReplay .words .word letter.incorrect{color:#d33682}::ng-deep #result #resultWordsHistory .words .word letter.incorrect.extra,::ng-deep #result #resultReplay .words .word letter.incorrect.extra{color:#9b225c}::ng-deep #result #resultWordsHistory .words .word.heatmap0 letter,::ng-deep #result #resultReplay .words .word.heatmap0 letter{color:#d33682}::ng-deep #result #resultWordsHistory .words .word.heatmap1 letter,::ng-deep #result #resultReplay .words .word.heatmap1 letter{color:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap2 letter,::ng-deep #result #resultReplay .words .word.heatmap2 letter{color:#888}::ng-deep #result #resultWordsHistory .words .word.heatmap3 letter,::ng-deep #result #resultReplay .words .word.heatmap3 letter{color:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap4 letter,::ng-deep #result #resultReplay .words .word.heatmap4 letter{color:#888}::ng-deep #result #resultWordsHistory .words.rightToLeftTest,::ng-deep #result #resultReplay .words.rightToLeftTest{direction:rtl}::ng-deep #result #resultWordsHistory .words.rightToLeftTest .word,::ng-deep #result #resultReplay .words.rightToLeftTest .word{direction:rtl}::ng-deep #result #resultWordsHistory .words.withLigatures letter,::ng-deep #result #resultReplay .words.withLigatures letter{display:inline}::ng-deep #result .chart{grid-area:chart;width:100%;max-height:200px;height:200px}::ng-deep #result .chart canvas{width:100%!important;height:100%}::ng-deep #result .chart .title{color:#888;margin-bottom:1rem}::ng-deep #result .loginTip{grid-column:1/3;text-align:center;color:#888}::ng-deep #result .loginTip .link{text-decoration:underline;display:inline-block;cursor:pointer}::ng-deep #result .stats{grid-area:stats;display:grid;gap:.5rem;justify-content:center;align-items:center;grid-template-areas:\"wpm\" \"acc\"}::ng-deep #result .stats.morestats{display:grid;grid-auto-flow:column;grid-template-areas:none;align-items:flex-start;justify-content:space-between;column-gap:2rem;grid-area:morestats}::ng-deep #result .stats.morestats .subgroup{display:grid;gap:.5rem}::ng-deep #result .stats .group .top{color:#888;font-size:1rem;line-height:1rem;margin-bottom:.25rem}::ng-deep #result .stats .group .bottom{color:#888;font-size:2rem;line-height:2rem}::ng-deep #result .stats .group.time .afk,::ng-deep #result .stats .group.time .timeToday{color:#888;font-size:.75rem;line-height:.75rem;margin-left:.2rem}::ng-deep #result .stats .group.source #rateQuoteButton,::ng-deep #result .stats .group.source #reportQuoteButton,::ng-deep #result .stats .group.source #favoriteQuoteButton{padding:0 .25rem}::ng-deep #result .stats .group.source #rateQuoteButton{display:inline-grid;gap:.25rem}::ng-deep #result .stats .info .top,::ng-deep #result .stats .tags .top,::ng-deep #result .stats .source .top{font-size:1rem;line-height:1rem}::ng-deep #result .stats .info .bottom,::ng-deep #result .stats .tags .bottom,::ng-deep #result .stats .source .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .source{max-width:30rem}::ng-deep #result .stats .tags .bottom .fas{margin-left:.5rem}::ng-deep #result .stats .wpm{grid-area:wpm}::ng-deep #result .stats .wpm .top{font-size:2rem;line-height:1.5rem;display:flex}::ng-deep #result .stats .wpm .top .crown{margin-left:.5rem;margin-top:-.2rem;font-size:.7rem;line-height:1.7rem;background:#888;color:#f6f6f6;border-radius:.6rem;text-align:center;align-self:center;width:1.7rem;height:1.7rem}::ng-deep #result .stats .wpm .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .testType .bottom,::ng-deep #result .stats .leaderboards .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .testType .bottom .lbChange .fas,::ng-deep #result .stats .leaderboards .bottom .lbChange .fas{margin-right:.15rem}::ng-deep #result .stats .acc{grid-area:acc}::ng-deep #result .stats .acc .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .acc .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .burst{grid-area:burst}::ng-deep #result .stats .burst .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .burst .bottom{font-size:4rem;line-height:4rem}::ng-deep #restartTestButton,::ng-deep #showWordHistoryButton,::ng-deep #saveScreenshotButton,::ng-deep #restartTestButtonWithSameWordset,::ng-deep #nextTestButton,::ng-deep #practiseWordsButton,::ng-deep #watchReplayButton,::ng-deep #watchVideoAdButton{position:relative;border-radius:.5rem;padding:1rem 2rem;width:min-content;width:-moz-min-content;color:#888;transition:.125s;cursor:pointer}::ng-deep #restartTestButton:hover,::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:hover,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:hover,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:hover,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:hover,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:hover,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:hover,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:hover,::ng-deep #watchVideoAdButton:focus{color:#181819;outline:none}::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:focus{background:#181819;color:#f6f6f6}::ng-deep #retrySavingResultButton{position:relative;border-radius:.5rem;padding:1rem 2rem;color:#d33682;transition:.25s;cursor:pointer;width:max-content;width:-moz-max-content;background:#d33682;color:#f6f6f6;justify-self:center;justify-content:center;margin:0 auto 1rem;-webkit-user-select:none;user-select:none}::ng-deep #retrySavingResultButton:hover,::ng-deep #retrySavingResultButton:focus{background:#181819;outline:none}::ng-deep #retrySavingResultButton:focus{background:#181819}::ng-deep #showWordHistoryButton{opacity:1}::ng-deep #replayWords{cursor:pointer}::ng-deep #replayStopwatch{color:#888;display:inline-block;margin:0 0 0 .5em}::ng-deep #restartTestButton{margin:0 auto;margin-top:1rem}::ng-deep .pageTest #wordsWrapper{position:relative}::ng-deep .pageTest #wordsWrapper.tape{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 1%,rgb(0,0,0) 10%,rgb(0,0,0) 90%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(90deg,#0000 1%,#000 10% 90%,#0000 99%)}::ng-deep .pageTest #memoryTimer{background:#888;color:#f6f6f6;padding:1rem;border-radius:.5rem;text-align:center;width:max-content;left:50%;position:absolute;transform:translate(-50%);top:-6rem;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0}::ng-deep .pageTest .outOfFocusWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .pageTest .errorWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:auto;user-select:auto}::ng-deep .pageTest #testModesNotice{display:flex;flex-wrap:wrap;color:#888;text-align:center;margin-bottom:.5rem;transition:.125s;justify-content:center;-webkit-user-select:none;user-select:none}::ng-deep .pageTest #testModesNotice .textButton{margin:0 .5rem}::ng-deep .pageTest #testModesNotice .fas{margin-right:.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm{height:0;margin-left:.37rem;display:flex;font-size:1rem;line-height:1.13rem;margin-top:-1.5rem;position:absolute;color:#000;font-weight:700}::ng-deep .pageTest #miniTimerAndLiveWpm .time{margin-right:2rem;margin-top:-2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc{margin-right:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .time,::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc,::ng-deep .pageTest #miniTimerAndLiveWpm .burst{opacity:0}::ng-deep .pageTest #miniTimerAndLiveWpm.timerMain{color:#00000080}::ng-deep .pageTest #miniTimerAndLiveWpm.timerSub{color:#888}::ng-deep .pageTest #miniTimerAndLiveWpm.timerText{color:#181819}::ng-deep .pageTest #miniTimerAndLiveWpm.size125{margin-top:-1.75rem;font-size:1.38rem;line-height:1.25rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size15{margin-top:-2rem;font-size:1.63rem;line-height:1.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size2{margin-top:-2.5rem;font-size:2.13rem;line-height:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size3{margin-top:-3.5rem;font-size:3.13rem;line-height:3rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size4{margin-top:-4.5rem;font-size:4.13rem;line-height:4rem}::ng-deep #middle.focus .pageTest #testModesNotice{opacity:0!important}@media only screen and (max-width: 1330px){.ad.ad-v{display:none}#app{grid-template-columns:auto}}@media only screen and (max-width: 1250px){#leaderboardsWrapper #leaderboards .mainTitle{font-size:2rem}#leaderboardsWrapper #leaderboards .title{font-size:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop{grid-template-columns:auto 1fr max-content}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row;gap:.5rem}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:none}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem .5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr 1fr max-content}}@media only screen and (max-width: 1050px){.profile .pbsWords,.profile .pbsTime{font-size:.8rem}.profile .details.bioAndKey .bioAndKeyboard .value{font-size:.75rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr}#result .morestats{gap:1rem;grid-template-rows:1fr 1fr}#supportMe{width:90vw!important}#supportMe .buttons .button .icon{font-size:3rem!important;line-height:3rem!important}#customTextPopup{width:80vw!important}#customTextPopup .wordfilter.button{width:50%!important}}@media only screen and (max-width: 1000px){#quoteRatePopup{width:90vw!important}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr;grid-auto-flow:row;grid-template-columns:auto auto auto auto}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr;gap:.25rem 1rem}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(5){display:none}}@media only screen and (max-width: 900px){.ad.ad-h{display:none}.ad.ad-h-s{display:grid}.profile .pbsWords,.profile .pbsTime{font-size:1rem}.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.soc{grid-template-columns:1.25fr auto 1fr auto auto}.profile .details.soc .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-columns:1.25fr auto auto auto 1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-columns:1.25fr auto 1.25fr auto;grid-template-areas:\"avAndName sep2 bioAndKey bioAndKey\" \"typingStats typingStats typingStats socials\"}.profile .details.both .sep1,.profile .details.both .sep3{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr;width:100%}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}.profile .details.none{grid-template-columns:1fr auto 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}#leaderboards .mainTitle{font-size:1.5rem!important}#bannerCenter .banner .container{grid-template-columns:1fr auto}#bannerCenter .banner .container .image,#bannerCenter .banner .container .lefticon,#bannerCenter .banner .container .righticon{display:none}#bannerCenter .banner .container .text{margin-left:1.5rem;text-align:left;justify-self:start}.merchBanner img{display:none}.merchBanner .text{padding:.25rem 0}.pageSettings .section.autoSwitchThemeInputs{grid-template-columns:1fr 3fr}.pageAccount .group.personalBestTables .tables{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(1),.pageAccount .group.history table thead td:nth-child(8),.pageAccount .group.history table thead td:nth-child(9),.pageAccount .group.history table tbody td:nth-child(1),.pageAccount .group.history table tbody td:nth-child(8),.pageAccount .group.history table tbody td:nth-child(9){display:none}}@media only screen and (max-width: 800px){.pageSettings .settingsGroup.quickNav .links{grid-auto-flow:unset;grid-template-columns:1fr 1fr 1fr;justify-items:center}#centerContent #top{grid-template-areas:\"logo config\" \"menu config\";grid-template-columns:auto auto}#centerContent #top .logo{margin-bottom:0}#centerContent #menu{gap:.5rem;font-size:.8rem;line-height:.8rem;margin-top:-.5rem}#centerContent #menu .textButton{padding:.25rem}#contactPopupWrapper #contactPopup .buttons{grid-template-columns:1fr}.pageAbout .section .contributors,.pageAbout .section .supporters{grid-template-columns:1fr 1fr 1fr}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons{grid-template-columns:1fr 1fr}.pageSettings .section.customBackgroundFilter .groups{grid-template-columns:1fr}.pageSettings .section.customBackgroundFilter .saveContainer{grid-column:-1/-2}#commandLine,#commandLineInput{width:600px!important}#leaderboardsWrapper #leaderboards .leaderboardsTop{flex-direction:column;align-items:baseline;grid-template-areas:\"title title\" \"subtitle subtitle\" \"yesterday yesterday\" \"buttons buttons\";grid-template-columns:1fr}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttons{margin-top:.5rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:column}#leaderboardsWrapper #leaderboards .leaderboardsTop .showYesterdayButton{margin-left:0}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{width:30%}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}}@media only screen and (max-width: 700px){.pageAccount .presetFilterButtons .buttons{grid-template-columns:1fr}.pageAccount .triplegroup{grid-template-columns:1fr 1fr}.pageAccount .triplegroup .emptygroup{display:none}.pageAccount .group.chart .below{grid-template-columns:1fr;gap:.5rem}.pageAccount .group.topFilters .buttonsAndTitle .buttons{display:grid;justify-content:unset}.pageAccount .group.history table thead td:nth-child(6),.pageAccount .group.history table tbody td:nth-child(6){display:none}.badge:after,.badge:before{display:none}}@media only screen and (max-width: 650px){.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.none{grid-template-areas:\"avAndName\" \"typingStats\";grid-template-columns:1fr}.profile .details.none .separator{display:none}.profile .details.none .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\";grid-template-columns:1fr 1fr}.profile .details.bioAndKey .separator{display:none}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc{grid-template-areas:\"avAndName\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.soc .separator{display:none}.profile .details.soc .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc .socials{justify-content:start}.profile .details.soc .socials .title{display:block}.profile .details.soc .socials .value{grid-auto-flow:column}.profile .details.both{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\" \"socials socials\";grid-template-columns:1fr 1fr}.profile .details.both .separator{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}#quoteRatePopup .ratingStats{grid-template-columns:1fr 1fr!important}#quoteRatePopup .quote{grid-template-areas:\"text text text\" \"source source source\" \"id length length\"!important}.pageSettings .section{grid-template-columns:1fr;grid-template-areas:\"title\" \"text\" \"buttons\"}.pageSettings .section>.text{margin-bottom:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/5;width:100%;text-align:center}#supportMe{width:80vw!important}#supportMe .buttons{grid-template-columns:none!important}#supportMe .buttons .button{grid-template-columns:auto 1fr;align-items:center}#supportMe .buttons .button .icon{font-size:2rem!important;line-height:2rem!important;margin-left:2rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 600px){.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr 1fr}#top .logo .bottom{margin-top:0}.pageLogin{display:grid;gap:5rem;grid-auto-flow:unset}#middle #result{grid-template-areas:\"stats stats\" \"chart chart\" \"morestats morestats\"}#middle #result .stats{grid-template-areas:\"wpm acc\";gap:2rem}#middle #result .stats.morestats{grid-template-rows:1fr 1fr 1fr;gap:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row}#commandLine,#commandLineInput{width:500px!important}#customTextPopupWrapper #customTextPopup .wordfilter.button{width:100%!important;justify-self:auto}#customTextPopupWrapper #customTextPopup .inputs{display:flex!important;flex-direction:column;justify-content:flex-start}.pageAccount .group.history table thead td:nth-child(7),.pageAccount .group.history table thead td:nth-child(5),.pageAccount .group.history table tbody td:nth-child(7),.pageAccount .group.history table tbody td:nth-child(5){display:none}}@media only screen and (max-width: 550px){.profile .pbsWords,.profile .pbsTime{font-size:.9rem}.profile .pbsWords,.profile .pbsTime{grid-template-columns:1fr 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\";grid-template-columns:1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.both .typingStats{grid-template-columns:1fr}#cookiePopupWrapper #cookiePopup,#cookiePopupWrapper .extensionMessage{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1rem}#contactPopupWrapper #contactPopup .buttons .button .icon{font-size:1.5rem;line-height:1.5rem}#contactPopupWrapper #contactPopup{padding:1rem}.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr}#simplePopupWrapper #simplePopup{width:90vw}#quoteReportPopup{width:calc(100% - 2rem);margin-left:1rem;max-width:800px;padding:1rem}.pageSettings .settingsGroup.quickNav{display:none}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr}.pageSettings .section .buttons{grid-auto-flow:row}.pageSettings .section.customBackgroundFilter .groups .group{grid-template-columns:auto 1fr}.pageSettings .section.customBackgroundFilter .groups .group .title{grid-column:1/3}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons,.pageAccount .triplegroup{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(3),.pageAccount .group.history table tbody td:nth-child(3){display:none}#top{align-items:self-end}#top .logo .icon{width:1.5rem!important}#top .logo .text{font-size:1.5rem!important;margin-bottom:.3rem!important}#top .logo .bottom{font-size:1.75rem;line-height:1.75rem;margin-top:0}#top .logo .top{display:none}#top #menu .textButton{padding:0}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:auto auto auto;grid-auto-flow:row}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr 1fr;gap:.25rem 1rem}#centerContent{padding:1rem}#centerContent #top{grid-template-columns:1fr auto}#centerContent #top .desktopConfig{display:none}#centerContent #top .mobileConfig{display:block}#middle #result .stats{grid-template-areas:\"wpm\" \"acc\";gap:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/3;width:100%;text-align:center}#commandLine,#commandLineInput{width:400px!important}#leaderboardsWrapper #leaderboards{width:85vw}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(4){display:none}}@media only screen and (max-width: 400px){#top .config{grid-gap:.25rem}#top .config .group .buttons{font-size:.65rem;line-height:.65rem}#bottom{font-size:.65rem}#bottom .leftright{grid-template-columns:1fr 1fr}#bottom .leftright .left{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;grid-auto-flow:row}#bottom .leftright .right{grid-template-rows:1fr 1fr 1fr 1fr;gap:.25rem 1rem}#commandLine,#commandLineInput{width:300px!important}#leaderboardsWrapper #leaderboards .tables .titleAndTable .titleAndButtons{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 9rem)}}@media only screen and (max-width: 350px){.ad.ad-h-s{display:none}.pageLogin .side input{width:90vw}.page404 .content,.page404 .content .image{width:100%}.page404 .content .big{font-size:7rem;line-height:7rem}}@media (hover: none) and (pointer: coarse){#commandLineMobileButton{display:block!important}}\n"] }]
4673
+ args: [{ selector: 'tgo-typing-replay-input', imports: [CommonModule], template: "<div id=\"centerContent\">\n <div id=\"middle\" #middle>\n <div class=\"page pageTest active\">\n <div id=\"result\" tabindex=\"0\">\n <div class=\"bottom\" style=\"grid-column: 1/3\">\n <div id=\"resultReplay\">\n <div class=\"title\">\n Watch replay\n <span\n id=\"playpauseReplayButton\"\n class=\"textButton\"\n aria-label=\"Start replay\"\n data-balloon-pos=\"up\"\n style=\"display: inline-block\"\n (click)=\"playpauseReplayButtonClick()\"\n #toggleButton\n >\n <div id=\"key\" class=\"Play\" #playpauseelem>{{ playpauseelem.className }}</div>\n </span>\n <p id=\"replayStopwatch\" #replayStopwatch>0s</p>\n </div>\n <div id=\"wordsWrapper\">\n <div id=\"replayWords\" class=\"words\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Itim:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Coming+Soon:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Lalezar:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Noto+Naskh+Arabic:wght@300;400;700&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;700&display=swap\";@keyframes loader{0%{width:0;left:0}50%{width:100%;left:0}to{width:0;left:100%}}@keyframes caretFlashSmooth{0%,to{opacity:0}50%{opacity:1}}@keyframes caretFlashHard{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes flashKey{0%{color:#f6f6f6;background-color:#888;border-color:#888}to{color:#888;background-color:#f6f6f6;border-color:#888}}@keyframes shake{0%{transform:translate(2px) rotate(0)}50%{transform:translate(-2px) rotate(0)}to{transform:translate(2px) rotate(0)}}@keyframes flashHighlight{0%{background-color:#f6f6f6}10%{background-color:#888}40%{background-color:#888}to{background-color:#f6f6f6}}@keyframes rgb-bg{0%{background:#4cae4c}20%{background:#409eb5}40%{background:#8134f4}60%{background:#f10e19}80%{background:#ffc505}to{background:#4cae4c}}#caret,#caret.outline,#paceCaret.outline{height:1.5rem;background:#dc322f;animation:caretFlashSmooth 1s infinite;position:absolute;border-radius:.5rem;transform-origin:top left}#paceCaret{height:1.5rem;background:#888;opacity:.5;position:absolute;border-radius:.5rem;transform-origin:top left;width:2px}#caret.off,#paceCaret.off{width:0}#caret.default,#paceCaret.default{width:2px}#caret.block,#caret.outline,#paceCaret.block,#paceCaret.outline{width:.7em;border-radius:0;z-index:-1}#caret.outline,#paceCaret.outline{animation-name:none;background:transparent;border:1px solid #dc322f}#caret.block,#caret.outline,#caret.underline,#paceCaret.block,#paceCaret.outline,#paceCaret.underline{margin-left:.1rem}#caret.block.size15,#caret.outline.size15,#caret.underline.size15,#paceCaret.block.size15,#paceCaret.outline.size15,#paceCaret.underline.size15{margin-left:.15rem}#caret.block.size2,#caret.outline.size2,#caret.underline.size2,#paceCaret.block.size2,#paceCaret.outline.size2,#paceCaret.underline.size2{margin-left:.2rem}#caret.block.size3,#caret.outline.size3,#caret.underline.size3,#paceCaret.block.size3,#paceCaret.outline.size3,#paceCaret.underline.size3{margin-left:.25em}#caret.block.size4,#caret.outline.size4,#caret.underline.size4,#paceCaret.block.size4,#paceCaret.outline.size4,#paceCaret.underline.size4{margin-left:.3rem}#caret.underline,#paceCaret.underline{height:2px;width:.8em;margin-top:1.3em}#caret.underline.size125,#paceCaret.underline.size125{margin-top:1.8em}#caret.underline.size15,#paceCaret.underline.size15{margin-top:2.1em}#caret.underline.size2,#paceCaret.underline.size2{margin-top:2.7em}#caret.underline.size3,#paceCaret.underline.size3{margin-top:3.9em}#caret.underline.size4,#paceCaret.underline.size4{margin-top:5em}#caret.size125,#paceCaret.size125{transform:scale(1.25)}#caret.size15,#paceCaret.size15{transform:scale(1.45)}#caret.size2,#paceCaret.size2{transform:scale(1.9)}#caret.size3,#paceCaret.size3{transform:scale(2.8)}#caret.size4,#paceCaret.size4{transform:scale(3.7)}::ng-deep :host{scroll-padding-top:2rem;font-weight:600}::ng-deep ::placeholder{color:#888;opacity:1}::ng-deep #app{display:grid;grid-template-columns:auto minmax(0,1000px) auto;justify-items:center}::ng-deep #app.wide125{grid-template-columns:auto minmax(0,1250px) auto}::ng-deep #app.wide150{grid-template-columns:auto minmax(0,1500px) auto}::ng-deep #app.wide200{grid-template-columns:auto minmax(0,2000px) auto}::ng-deep #app.widemax{grid-template-columns:auto minmax(0,1fr) auto}::ng-deep #nocss{display:none!important;pointer-events:none}::ng-deep .ffscroll,::ng-deep #contactPopupWrapper #contactPopup,#contactPopupWrapper ::ng-deep #contactPopup,::ng-deep #supportMeWrapper #supportMe,#supportMeWrapper ::ng-deep #supportMe,::ng-deep #versionHistoryWrapper #versionHistory,#versionHistoryWrapper ::ng-deep #versionHistory,::ng-deep html{scrollbar-width:thin;scrollbar-color:#888888 transparent}::ng-deep html{overflow-y:scroll}::ng-deep a{display:inline-block;color:#888;transition:.25s}::ng-deep a:hover{color:#181819}::ng-deep a[data-link] *{pointer-events:none}::ng-deep a.button{text-decoration:none}::ng-deep #centerContent{margin:0;padding:0;min-height:300px;font-family:Roboto Mono,Vazirmatn;color:#181819;overflow-x:hidden;border:1px solid #E0E0E0}::ng-deep .customBackground{content:\"\";width:100vw;height:100vh;position:fixed;left:0;top:0;background-position:center center;background-repeat:no-repeat;z-index:-999;justify-content:center;align-items:center;display:flex}::ng-deep #backgroundLoader{height:3px;position:fixed;width:100%;background:#888;animation:loader 2s cubic-bezier(.38,.16,.57,.82) infinite;z-index:9999}::ng-deep label.checkbox span{display:block;font-size:.76rem;color:#888;margin-left:1.5rem}::ng-deep label.checkbox input{margin:0!important;cursor:pointer;width:0;height:0;display:none;-webkit-user-select:none;user-select:none}::ng-deep label.checkbox input~.customTextCheckbox{width:1.25rem;height:1.25rem;background:#e2d8be;border-radius:.25rem;display:inline-grid;margin:0 .5rem 0 0;-webkit-user-select:none;user-select:none;cursor:pointer}::ng-deep label.checkbox input~.customTextCheckbox .check{opacity:0;color:#888;transition:.125s}::ng-deep label.checkbox input:checked~.customTextCheckbox .check{opacity:1}::ng-deep #centerContent{display:grid;grid-auto-flow:row;padding:10rem 2rem 2rem;gap:2rem;align-items:center;z-index:999;grid-template-rows:auto 1fr auto;width:100%;transition:padding-top .125s}::ng-deep #centerContent.wide125{max-width:1250px}::ng-deep #centerContent.wide150{max-width:1500px}::ng-deep #centerContent.wide200{max-width:2000px}::ng-deep #centerContent.widemax{max-width:unset}::ng-deep #key{color:#f6f6f6;background-color:#888;padding:.3rem;margin:0rem .5rem;border-radius:.1rem;display:inline-block;font-size:.7rem;line-height:.7rem}::ng-deep .pageLoading{display:grid;justify-content:center}::ng-deep .pageLoading .preloader,::ng-deep .pageAccount .preloader{text-align:center;justify-self:center;display:grid}::ng-deep .pageLoading .preloader .barWrapper,::ng-deep .pageAccount .preloader .barWrapper{display:grid;gap:1rem;grid-row:1;grid-column:1}::ng-deep .pageLoading .preloader .barWrapper .bar,::ng-deep .pageAccount .preloader .barWrapper .bar{width:20rem;height:.5rem;background:#e2d8be;border-radius:.5rem}::ng-deep .pageLoading .preloader .barWrapper .bar .fill,::ng-deep .pageAccount .preloader .barWrapper .bar .fill{height:100%;width:0%;background:#888;border-radius:.5rem}::ng-deep .pageLoading .preloader .icon,::ng-deep .pageAccount .preloader .icon{grid-row:1;grid-column:1;font-size:2rem;color:#888;margin-bottom:1rem}::ng-deep .devIndicator{position:fixed;font-size:3rem;color:#888;opacity:.25;z-index:-1}::ng-deep .devIndicator.tl{top:2rem;left:2rem}::ng-deep .devIndicator.tr{top:2rem;right:2rem}::ng-deep .devIndicator.bl{bottom:2rem;left:2rem}::ng-deep .devIndicator.br{bottom:2rem;right:2rem}::ng-deep *{box-sizing:border-box}::ng-deep .hidden{display:none!important}::ng-deep .invisible{opacity:0!important;pointer-events:none!important}::ng-deep .button{color:#181819;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;background:#e2d8be;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem}::ng-deep .button.active{background:#888;color:#f6f6f6}::ng-deep .button.active:hover{background:#181819}::ng-deep .button.active:active{background:#888;color:#f6f6f6}::ng-deep .button.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .button.disabled:hover{background:#181819;outline:none}::ng-deep .button.disabled:active{background:#888;color:#f6f6f6}::ng-deep .button:hover{color:#f6f6f6;background:#181819;outline:none}::ng-deep .button:focus{outline:2px solid #181819}::ng-deep .button:active{background:#888;color:#f6f6f6}::ng-deep .textButton{color:#888;cursor:pointer;transition:background .125s,color .125s;padding:.5rem;border-radius:.5rem;text-align:center;user-select:none;-webkit-user-select:none;align-content:center;height:min-content;height:-moz-min-content;line-height:1.25rem;appearance:none;border:none;font-family:inherit;font-size:1rem;width:max-content;width:-moz-max-content;display:grid;grid-auto-flow:column;gap:.25rem;text-decoration:none}::ng-deep .textButton .fas,::ng-deep .textButton .far{display:grid;place-content:center center}::ng-deep .textButton.active{color:#888}::ng-deep .textButton.active:hover{color:#181819}::ng-deep .textButton.active:active{color:#888}::ng-deep .textButton.disabled{opacity:.33;cursor:default;pointer-events:none}::ng-deep .textButton.disabled:hover{background:#181819;outline:none}::ng-deep .textButton.disabled:active{background:#888;color:#f6f6f6}::ng-deep .textButton:hover{color:#181819}::ng-deep .textButton:focus{color:#181819;outline:none}::ng-deep .textButton:active{color:#888}::ng-deep .scrollToTopButton{bottom:2rem;right:2rem;position:fixed;font-size:2rem;width:4rem;height:4rem;text-align:center;line-height:4rem;background:#e2d8be;border-radius:99rem;z-index:99;cursor:pointer;color:#888;transition:.25s}::ng-deep .scrollToTopButton:hover{background:#181819;color:#f6f6f6}::ng-deep .inputAndIndicator{position:relative}::ng-deep .inputAndIndicator input{width:100%}::ng-deep .inputAndIndicator .statusIndicator{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}::ng-deep .inputAndIndicator .statusIndicator .indicator{grid-column:1/2;grid-row:1/2}::ng-deep .inputAndIndicator .statusIndicator .indicator.level-1{color:#d33682}::ng-deep .inputAndIndicator .statusIndicator .indicator.level0{color:#888}::ng-deep .inputAndIndicator .statusIndicator .indicator.level1{color:#888}::ng-deep .configureAPI.button{position:fixed;left:2rem;bottom:2rem;display:grid;grid-auto-flow:column;gap:.5rem;text-decoration:none;z-index:999999999}::ng-deep .avatar{transition:opacity .125s,filter .125s,webkit-filter .125s;width:1.25rem;height:1.25rem;border-radius:100%;background-position:center center;background-size:contain;background-repeat:no-repeat}::ng-deep .badge{background:#888;color:#181819;border-radius:.25rem;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:max-content auto;align-items:baseline}::ng-deep .badge .fas,::ng-deep .badge .far{margin:.15rem .3rem;font-size:.9em}::ng-deep .badge .text{margin-top:.15rem;margin-bottom:.15rem;margin-right:.3rem}input,textarea{outline:none;border:none;border-radius:.5rem;background:#e2d8be;color:#181819;padding:.5rem;font-size:1rem;font-family:Roboto Mono,Vazirmatn;caret-color:#888}textarea{resize:vertical}input[type=range]{-webkit-appearance:none;padding:0;width:100%;height:1rem;border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-webkit-slider-thumb:hover{cursor:grab}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]::-moz-range-thumb{-webkit-appearance:none;padding:0;border:none;width:25%;height:1rem;border-radius:.5rem;background-color:#888}input[type=range]::-moz-range-thumb:hover{cursor:grab}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=color]{height:3px;opacity:0;padding:0;margin:0;position:absolute;pointer-events:none}input:disabled,textarea:disabled{opacity:.33}::-moz-color-swatch{border:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:none;outline:2px solid #888888;font-family:inherit;-webkit-text-fill-color:#181819;-webkit-box-shadow:0 0 0 1000000px #e2d8be inset;caret-color:#181819}.select2-dropdown{background-color:#f6f6f6;color:#181819;outline:none}.select2-container--default.select2-container--disabled .select2-selection--single{background:#e2d8be!important;opacity:.33;cursor:default;pointer-events:none}.select2-selection{background:#e2d8be;height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#181819;outline:none}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#181819;color:#f6f6f6}.select2-container--default .select2-results__option--selected{background-color:#888;color:#f6f6f6}.select2-container--open .select2-dropdown--below,.select2-container--open .select2-dropdown--above{border-color:#e2d8be;background:#f6f6f6;color:#888;border-radius:.5rem}.select2-container--default .select2-selection--single{color:#181819;background:#e2d8be;outline:none;border:none;height:auto;border-radius:.5rem}.select2-container--default.select2-container--disabled .select2-selection--single{background:#5051517a}.select2-selection:focus{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-selection:active{height:fit-content;height:-moz-fit-content;padding:5px;border-radius:.5rem;color:#181819;font:\"Roboto Mono\",\"Vazirmatn\";border:none;outline:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:35px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent transparent transparent}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:#181819 transparent}.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#e2d8be;background:#f6f6f6;color:#181819;border-radius:.5rem}.select2-container--default .select2-results__group{color:#181819}.select2-container--default .select2-selection--multiple{background:#e2d8be;border-radius:.5rem;color:#181819;outline:none;border:none}.select2-selection__choice__display{color:#f6f6f6}.select2-selection__choice__remove{color:#888!important}.select2-container .select2-search--inline .select2-search__field{margin:0;border-radius:0;font-family:Roboto Mono,Vazirmatn;line-height:1rem}.select2-container--default.select2-container--focus .select2-selection--multiple{border:none}.select2-container--default .select2-selection--multiple{border:none;padding:.5rem;font-family:Roboto Mono,Vazirmatn}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#888;border:none;border-radius:.25rem;box-sizing:border-box;display:inline-block;margin-left:0;margin-top:0;margin-right:.5rem;padding:0;padding-left:1.25rem;position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:1.5rem;border-right:1px solid #F6F6F6;color:#f6f6f6!important;transition:.125s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#181819}.popupWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:center;padding:2rem 0}#customTextPopupWrapper #customTextPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:60vw}#customTextPopupWrapper #customTextPopup .buttonsTop{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup .savedTexts{display:grid;gap:.5rem}#customTextPopupWrapper #customTextPopup .savedTexts .title{color:#888}#customTextPopupWrapper #customTextPopup .savedTexts .buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#customTextPopupWrapper #customTextPopup textarea{background:#e2d8be;padding:1rem;color:#888;border:none;outline:none;font-size:1rem;font-family:Roboto Mono,Vazirmatn;width:100%;border-radius:.5rem;resize:vertical;height:200px;color:#181819;overflow-x:hidden;overflow-y:scroll}#customTextPopupWrapper #customTextPopup .inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;justify-items:left}#customTextPopupWrapper #customTextPopup .randomInputFields{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;width:100%;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px;max-height:80vh;overflow:auto}#savedTextsPopupWrapper #savedTextsPopup .title{font-size:1.5rem;color:#888}#savedTextsPopupWrapper #savedTextsPopup .list{display:grid;gap:1rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText{display:grid;gap:.5rem;grid-template-columns:1fr 3rem}#savedTextsPopupWrapper #savedTextsPopup .list .savedText .button .fas{pointer-events:none}#wordFilterPopupWrapper #wordFilterPopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#wordFilterPopupWrapper #wordFilterPopup input{width:100%}#wordFilterPopupWrapper #wordFilterPopup .group{display:grid;gap:.5rem}#wordFilterPopupWrapper #wordFilterPopup .lengthgrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:1rem}#wordFilterPopupWrapper #wordFilterPopup .tip{color:#888;font-size:.8rem}#wordFilterPopupWrapper #wordFilterPopup .loadingIndicator{justify-self:center}#quoteRatePopupWrapper #quoteRatePopup{color:#888;background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:2rem;width:800px;display:grid;grid-template-areas:\"warning warning warning\" \"spacer2 spacer2 spacer2\" \"ratingStats ratingStats submitButton\" \"spacer spacer spacer\" \"quote quote quote\";grid-template-columns:auto 1fr;color:#181819}#quoteRatePopupWrapper #quoteRatePopup .warning{grid-area:warning}#quoteRatePopupWrapper #quoteRatePopup .warning span{color:#d33682}#quoteRatePopupWrapper #quoteRatePopup .spacer,#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer;width:100%;height:.1rem;border-radius:.5rem;background:#888;opacity:.25}#quoteRatePopupWrapper #quoteRatePopup .spacer2{grid-area:spacer2}#quoteRatePopupWrapper #quoteRatePopup .submitButton{font-size:2rem;grid-area:submitButton;color:#888}#quoteRatePopupWrapper #quoteRatePopup .submitButton:hover{color:#181819}#quoteRatePopupWrapper #quoteRatePopup .top{color:#888;font-size:.8rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;grid-area:ratingStats}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .top{font-size:1rem}#quoteRatePopupWrapper #quoteRatePopup .ratingStats .val{font-size:2.25rem}#quoteRatePopupWrapper #quoteRatePopup .quote{display:grid;grid-area:quote;gap:1rem;grid-template-areas:\"text text text\" \"id length source\";grid-template-columns:1fr 1fr 3fr}#quoteRatePopupWrapper #quoteRatePopup .quote .text{grid-area:text}#quoteRatePopupWrapper #quoteRatePopup .quote .id{grid-area:id}#quoteRatePopupWrapper #quoteRatePopup .quote .length{grid-area:length}#quoteRatePopupWrapper #quoteRatePopup .quote .source{grid-area:source}#quoteRatePopupWrapper #quoteRatePopup .stars{display:grid;color:#888;font-size:2rem;grid-template-columns:auto auto auto auto auto;justify-content:flex-start;align-items:center;cursor:pointer}#quoteRatePopupWrapper #quoteRatePopup .star{transition:.125s}#quoteRatePopupWrapper #quoteRatePopup i{pointer-events:none}#quoteRatePopupWrapper #quoteRatePopup .star.active{color:#181819}#simplePopupWrapper #simplePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#simplePopupWrapper #simplePopup .title{font-size:1.5rem;color:#888}#simplePopupWrapper #simplePopup .inputs{display:grid;gap:1rem}#simplePopupWrapper #simplePopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup{background:#f6f6f6;border-radius:.5rem;padding:1rem;display:grid;gap:1rem;width:calc(100vw - 2rem);max-width:400px}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .title{font-size:1.5rem;color:#888}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .inputs{display:grid;gap:1rem}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .text{font-size:1rem;color:#181819}#mobileTestConfigPopupWrapper #mobileTestConfigPopup .group{display:grid;gap:.5rem}#customWordAmountPopupWrapper #customWordAmountPopup,#customWordAmountPopupWrapper #customTestDurationPopup,#customWordAmountPopupWrapper #practiseWordsPopup,#customWordAmountPopupWrapper #pbTablesPopup,#customTestDurationPopupWrapper #customWordAmountPopup,#customTestDurationPopupWrapper #customTestDurationPopup,#customTestDurationPopupWrapper #practiseWordsPopup,#customTestDurationPopupWrapper #pbTablesPopup,#practiseWordsPopupWrapper #customWordAmountPopup,#practiseWordsPopupWrapper #customTestDurationPopup,#practiseWordsPopupWrapper #practiseWordsPopup,#practiseWordsPopupWrapper #pbTablesPopup,#pbTablesPopupWrapper #customWordAmountPopup,#pbTablesPopupWrapper #customTestDurationPopup,#pbTablesPopupWrapper #practiseWordsPopup,#pbTablesPopupWrapper #pbTablesPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#customWordAmountPopupWrapper #customWordAmountPopup .title,#customWordAmountPopupWrapper #customTestDurationPopup .title,#customWordAmountPopupWrapper #practiseWordsPopup .title,#customWordAmountPopupWrapper #pbTablesPopup .title,#customTestDurationPopupWrapper #customWordAmountPopup .title,#customTestDurationPopupWrapper #customTestDurationPopup .title,#customTestDurationPopupWrapper #practiseWordsPopup .title,#customTestDurationPopupWrapper #pbTablesPopup .title,#practiseWordsPopupWrapper #customWordAmountPopup .title,#practiseWordsPopupWrapper #customTestDurationPopup .title,#practiseWordsPopupWrapper #practiseWordsPopup .title,#practiseWordsPopupWrapper #pbTablesPopup .title,#pbTablesPopupWrapper #customWordAmountPopup .title,#pbTablesPopupWrapper #customTestDurationPopup .title,#pbTablesPopupWrapper #practiseWordsPopup .title,#pbTablesPopupWrapper #pbTablesPopup .title{font-size:1.5rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .tip,#customWordAmountPopupWrapper #customTestDurationPopup .tip,#customWordAmountPopupWrapper #practiseWordsPopup .tip,#customWordAmountPopupWrapper #pbTablesPopup .tip,#customTestDurationPopupWrapper #customWordAmountPopup .tip,#customTestDurationPopupWrapper #customTestDurationPopup .tip,#customTestDurationPopupWrapper #practiseWordsPopup .tip,#customTestDurationPopupWrapper #pbTablesPopup .tip,#practiseWordsPopupWrapper #customWordAmountPopup .tip,#practiseWordsPopupWrapper #customTestDurationPopup .tip,#practiseWordsPopupWrapper #practiseWordsPopup .tip,#practiseWordsPopupWrapper #pbTablesPopup .tip,#pbTablesPopupWrapper #customWordAmountPopup .tip,#pbTablesPopupWrapper #customTestDurationPopup .tip,#pbTablesPopupWrapper #practiseWordsPopup .tip,#pbTablesPopupWrapper #pbTablesPopup .tip{font-size:.75rem;color:#888}#customWordAmountPopupWrapper #customWordAmountPopup .text,#customWordAmountPopupWrapper #customTestDurationPopup .text,#customWordAmountPopupWrapper #practiseWordsPopup .text,#customWordAmountPopupWrapper #pbTablesPopup .text,#customTestDurationPopupWrapper #customWordAmountPopup .text,#customTestDurationPopupWrapper #customTestDurationPopup .text,#customTestDurationPopupWrapper #practiseWordsPopup .text,#customTestDurationPopupWrapper #pbTablesPopup .text,#practiseWordsPopupWrapper #customWordAmountPopup .text,#practiseWordsPopupWrapper #customTestDurationPopup .text,#practiseWordsPopupWrapper #practiseWordsPopup .text,#practiseWordsPopupWrapper #pbTablesPopup .text,#pbTablesPopupWrapper #customWordAmountPopup .text,#pbTablesPopupWrapper #customTestDurationPopup .text,#pbTablesPopupWrapper #practiseWordsPopup .text,#pbTablesPopupWrapper #pbTablesPopup .text{font-size:1rem;color:#181819}#customWordAmountPopupWrapper #customTestDurationPopup .preview,#customTestDurationPopupWrapper #customTestDurationPopup .preview,#practiseWordsPopupWrapper #customTestDurationPopup .preview,#pbTablesPopupWrapper #customTestDurationPopup .preview{font-size:.75rem;color:#888}#googleSignUpPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:400px}#googleSignUpPopup .title{font-size:1.5rem;color:#888}#googleSignUpPopup .inputAndIndicator{position:relative}#googleSignUpPopup .inputAndIndicator input{width:100%}#googleSignUpPopup .inputAndIndicator .checkStatus{width:2.25rem;height:2.25rem;position:absolute;right:0;top:0;display:grid;grid-template-columns:2.25rem;grid-template-rows:2.25rem;place-items:center center;cursor:pointer}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available,#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{grid-column:1/2;grid-row:1/2}#googleSignUpPopup .inputAndIndicator .checkStatus .checking,#googleSignUpPopup .inputAndIndicator .checkStatus .available{color:#888}#googleSignUpPopup .inputAndIndicator .checkStatus .unavailable,#googleSignUpPopup .inputAndIndicator .checkStatus .taken{color:#d33682}#shareTestSettingsPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:500px}#shareTestSettingsPopup .title{font-size:1.5rem;color:#888}#shareTestSettingsPopup .subgroup{padding-left:2rem}#shareTestSettingsPopup .tooLongWarning{font-size:.75rem;color:#d33682}#cookiePopupWrapper .extensionMessage{position:fixed;right:2rem;bottom:2rem;padding:1rem;width:465px;font-size:.75rem}#cookiePopupWrapper #cookiePopup{position:fixed;right:2rem;bottom:2rem;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:465px;z-index:100000001;-webkit-user-select:none;user-select:none}#cookiePopupWrapper #cookiePopup .main{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .title{font-size:1.5rem;color:#888}#cookiePopupWrapper #cookiePopup .buttons{margin-top:.25rem;display:grid;grid-auto-flow:column;gap:1rem;grid-template-columns:1fr 2.25rem}#cookiePopupWrapper #cookiePopup .settings{display:grid;gap:1rem}#cookiePopupWrapper #cookiePopup .settings .customTextCheckbox{background:#888}#cookiePopupWrapper #cookiePopup .settings .cookie label{display:grid;gap:0 1rem;grid-template-columns:1fr min-content;grid-template-areas:\"title check\" \"description check\"}#cookiePopupWrapper #cookiePopup .settings .cookie label .title{grid-area:title;font-size:1.25rem}#cookiePopupWrapper #cookiePopup .settings .cookie label .description{grid-area:description}#cookiePopupWrapper #cookiePopup .settings .cookie label .customTextCheckbox{place-self:center;grid-area:check}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label{grid-template-columns:1fr;grid-template-areas:\"title\" \"description\"}#cookiePopupWrapper #cookiePopup .settings .cookie.ads label a{margin-top:.25rem}#videoAdPopupWrapper{display:flex;padding:2rem}#videoAdPopupWrapper #videoAdPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;gap:1rem;width:100%;max-width:1000px;aspect-ratio:16/9;display:grid;grid-template-areas:\"middle\"}#videoAdPopupWrapper #videoAdPopup .preloader{grid-area:middle;display:grid;place-items:center center;gap:1rem;font-size:2rem;color:#888;height:max-content;align-self:center}#videoAdPopupWrapper #videoAdPopup .video{grid-area:middle}#pbTablesPopupWrapper #pbTablesPopup{min-width:50rem;max-height:calc(100vh - 10rem);overflow-y:scroll}#pbTablesPopupWrapper #pbTablesPopup .title{color:#181819}#pbTablesPopupWrapper #pbTablesPopup table{border-spacing:0;border-collapse:collapse;color:#181819}#pbTablesPopupWrapper #pbTablesPopup table td{padding:.5rem}#pbTablesPopupWrapper #pbTablesPopup table thead{color:#888;font-size:.75rem}#pbTablesPopupWrapper #pbTablesPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#pbTablesPopupWrapper #pbTablesPopup table td.infoIcons span{margin:0 .1rem}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton{opacity:.25;transition:.25s;cursor:pointer}#pbTablesPopupWrapper #pbTablesPopup table .miniResultChartButton:hover{opacity:1}#pbTablesPopupWrapper #pbTablesPopup table .sub{opacity:.5}#pbTablesPopupWrapper #pbTablesPopup table td{text-align:right}#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(6),#pbTablesPopupWrapper #pbTablesPopup table td:nth-child(7){text-align:center}#pbTablesPopupWrapper #pbTablesPopup table tbody td:nth-child(1){font-size:1.5rem}#customThemeShareWrapper #customThemeShare{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSearchPopupWrapper .highlight{color:#888}#quoteSearchPopupWrapper #quoteSearchPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:80vw;max-width:1000px;height:80vh;grid-template-rows:auto auto auto 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop{display:flex;justify-content:space-between}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .title{font-size:1.5rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons{width:33%;display:grid;gap:.5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchTop .buttons .button{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{display:grid;grid-template-columns:1.5fr 1fr max-content;gap:1rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #searchBox{width:100%}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper #toggleShowFavorites{height:100%;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem}#quoteSearchPopupWrapper #quoteSearchPopup #extraResults{text-align:center;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults{display:grid;gap:.5rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult{display:grid;grid-template-columns:1fr 1fr 3fr 0fr 0fr;grid-template-areas:\"text text text text text\" \"id len source report favorite\";grid-auto-rows:auto;width:100%;gap:.5rem;transition:.25s;padding:1rem;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;height:min-content}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .text{grid-area:text;overflow:visible;color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .id{grid-area:id;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .length{grid-area:len;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .source{grid-area:source;font-size:.8rem;color:#888}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .resultChevron{grid-area:chevron;display:flex;align-items:center;justify-items:center;color:#888;font-size:2rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report{grid-area:report;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .report:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite{grid-area:favorite;color:#888;transition:.25s}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .favorite:hover{color:#181819}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult .sub{opacity:.5}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchResults .searchResult:hover{background:#e2d8be;border-radius:5px}#settingsImportWrapper #settingsImport{width:50vw;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#quoteSubmitPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:100%;max-height:40rem;overflow-y:scroll}#quoteSubmitPopup label{color:#888;margin-bottom:-1rem}#quoteSubmitPopup .title{font-size:1.5rem;color:#888}#quoteSubmitPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteSubmitPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteSubmitPopup .characterCount.red{color:#d33682}#apeKeysPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;width:1000px;max-width:calc(100vw - 4rem);min-height:18rem;overflow-y:scroll;grid-template-rows:max-content auto;align-items:baseline;gap:1rem}#apeKeysPopup .top{display:grid;grid-template-columns:1fr auto}#apeKeysPopup .top .title{font-size:1.5rem;color:#888}#apeKeysPopup .top .button{padding:.4rem 2rem}#apeKeysPopup .textButton{justify-content:center}#apeKeysPopup .keyButtons{display:grid;grid-auto-flow:column;gap:1rem}#apeKeysPopup .keyButtons .button{width:3rem}#apeKeysPopup table{width:100%;border-spacing:0;border-collapse:collapse}#apeKeysPopup table tr td:first-child{text-align:center}#apeKeysPopup table tr.me td{color:#888}#apeKeysPopup table td{padding:.5rem}#apeKeysPopup table thead{color:#888;font-size:.75rem}#apeKeysPopup table thead td{padding:.5rem;background:#f6f6f6;position:-webkit-sticky;position:sticky;top:0;z-index:99}#apeKeysPopup table tbody{color:#181819}#apeKeysPopup table tbody tr:nth-child(odd) td{background:#e2d8be}#apeKeysPopup table tfoot td{padding:1rem .5rem;position:-webkit-sticky;position:sticky;bottom:-5px;background:#f6f6f6;color:#888;z-index:4}#apeKeysPopup table tr td:first-child{padding-left:1rem}#apeKeysPopup table tr td:last-child{padding-right:1rem}#quoteApprovePopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;width:1000px;height:80vh;grid-template-rows:auto 1fr}#quoteApprovePopup .top{display:flex;justify-content:space-between}#quoteApprovePopup .top .title{font-size:1.5rem;color:#888}#quoteApprovePopup .top .button{width:33%}#quoteApprovePopup .quotes{display:grid;gap:1rem;height:auto;overflow-y:scroll;align-content:baseline}#quoteApprovePopup .quotes .quote{display:grid;grid-template-columns:1fr auto;grid-auto-rows:auto 2rem;width:100%;gap:1rem;transition:.25s;box-sizing:border-box;-webkit-user-select:none;user-select:none;height:min-content;margin-bottom:1rem}#quoteApprovePopup .quotes .quote .text{grid-column:1/2;grid-row:1/2;overflow:visible;color:#181819;resize:vertical;min-height:4rem}#quoteApprovePopup .quotes .quote .source{grid-column:1/2;grid-row:2/3;color:#181819}#quoteApprovePopup .quotes .quote .buttons{display:flex;flex-direction:column;justify-content:center;margin-right:1rem;grid-column:2/3;grid-row:1/4;color:#888}#quoteApprovePopup .quotes .quote .bottom{display:flex;justify-content:space-around;color:#888}#quoteApprovePopup .quotes .quote .bottom .length.red{color:#d33682}#quoteApprovePopup .quotes .quote .sub{opacity:.5}#quoteApprovePopup .quotes .searchResult:hover{background:#e2d8be;border-radius:5px}#quoteReportPopupWrapper #quoteReportPopup{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;grid-template-rows:auto auto auto auto auto auto auto auto auto;height:auto;max-height:40rem;overflow-y:scroll;width:calc(100% - 4rem);margin-left:2rem;max-width:800px}#quoteReportPopupWrapper #quoteReportPopup label{color:#888;margin-bottom:-1rem}#quoteReportPopupWrapper #quoteReportPopup .quote{font-size:1.5rem}#quoteReportPopupWrapper #quoteReportPopup .title{font-size:1.5rem;color:#888}#quoteReportPopupWrapper #quoteReportPopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem}#quoteReportPopupWrapper #quoteReportPopup .characterCount{position:absolute;top:-1.25rem;right:.25rem;color:#888;-webkit-user-select:none;user-select:none}#quoteReportPopupWrapper #quoteReportPopup .characterCount.red{color:#d33682}#resultEditTagsPanelWrapper #resultEditTagsPanel{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll;width:500px}#resultEditTagsPanelWrapper #resultEditTagsPanel .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}#versionHistoryWrapper{width:100%;height:100%;background:#000000bf;position:fixed;left:0;top:0;z-index:1000;display:grid;justify-content:center;align-items:start;padding:5rem 0}#versionHistoryWrapper #versionHistory{width:75vw;height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#versionHistoryWrapper #versionHistory .tip{text-align:center;color:#888}#versionHistoryWrapper #versionHistory .releases{display:grid;gap:4rem}#versionHistoryWrapper #versionHistory .releases .release{display:grid;grid-template-areas:\"title date\" \"body body\"}#versionHistoryWrapper #versionHistory .releases .release .title{grid-area:title;font-size:2rem;color:#888}#versionHistoryWrapper #versionHistory .releases .release .date{grid-area:date;text-align:right;color:#888;align-self:center}#versionHistoryWrapper #versionHistory .releases .release .body{grid-area:body;color:#181819}#versionHistoryWrapper #versionHistory .releases .release:last-child{margin-bottom:2rem}#supportMeWrapper #supportMe{width:900px;overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem}#supportMeWrapper #supportMe .title{font-size:1.5rem;color:#888}#supportMeWrapper #supportMe .text{color:#181819}#supportMeWrapper #supportMe .subtext{color:#888;font-size:.75rem}#supportMeWrapper #supportMe .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}#supportMeWrapper #supportMe .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;gap:1rem;text-decoration:none}#supportMeWrapper #supportMe .buttons .button .text{transition:.25s}#supportMeWrapper #supportMe .buttons .button:hover .text{color:#f6f6f6}#supportMeWrapper #supportMe .buttons .button .icon{font-size:3rem;line-height:3rem}#contactPopupWrapper #contactPopup{overflow-y:scroll;max-height:100%;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;grid-template-rows:auto auto auto;gap:1rem;margin:0 2rem;max-width:900px}#contactPopupWrapper #contactPopup .title{font-size:1.5rem;line-height:2rem;color:#888}#contactPopupWrapper #contactPopup .text{color:#181819}#contactPopupWrapper #contactPopup .text span{color:#d33682}#contactPopupWrapper #contactPopup .subtext{color:#888;font-size:.75rem;grid-area:subtext}#contactPopupWrapper #contactPopup .buttons{display:grid;gap:1rem;grid-template-columns:1fr 1fr}#contactPopupWrapper #contactPopup .buttons .button{display:block;width:100%;height:100%;padding:1rem 0;display:grid;text-decoration:none;grid-template-areas:\"icon textgroup\";grid-template-columns:auto 1fr;text-align:left;align-items:center}#contactPopupWrapper #contactPopup .buttons .button .textGroup{grid-area:textgroup}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1.5rem;line-height:2rem;transition:.25s}#contactPopupWrapper #contactPopup .buttons .button:hover .text{color:#f6f6f6}#contactPopupWrapper #contactPopup .buttons .button .icon{grid-area:icon;font-size:2rem;line-height:2rem;padding:0 1rem}#presetWrapper #presetEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#presetWrapper #presetEdit .title{font-size:1.5rem;color:#888}#tagsWrapper #tagsEdit,#tagsWrapper #newResultFilterPresetPopup,#tagsWrapper #editProfilePopup,#newResultFilterPresetPopupWrapper #tagsEdit,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup,#newResultFilterPresetPopupWrapper #editProfilePopup,#editProfilePopupWrapper #tagsEdit,#editProfilePopupWrapper #newResultFilterPresetPopup,#editProfilePopupWrapper #editProfilePopup{max-height:90vh;background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}#tagsWrapper #tagsEdit .title,#tagsWrapper #newResultFilterPresetPopup .title,#tagsWrapper #editProfilePopup .title,#newResultFilterPresetPopupWrapper #tagsEdit .title,#newResultFilterPresetPopupWrapper #newResultFilterPresetPopup .title,#newResultFilterPresetPopupWrapper #editProfilePopup .title,#editProfilePopupWrapper #tagsEdit .title,#editProfilePopupWrapper #newResultFilterPresetPopup .title,#editProfilePopupWrapper #editProfilePopup .title{font-size:1.5rem;color:#888}#editProfilePopup{width:100%;max-width:600px}#editProfilePopup label{color:#888}#editProfilePopup input{width:100%}#editProfilePopup textarea{resize:vertical;width:100%;padding:10px;line-height:1.2rem;min-height:5rem;max-height:10rem}#editProfilePopup .socialURL{display:flex}#editProfilePopup .socialURL>p{margin-block:.5rem;margin-inline-end:.5rem}#editProfilePopup .badgeSelectionContainer{display:flex;flex-wrap:wrap}#editProfilePopup .badgeSelectionItem{width:max-content;opacity:25%;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem}#editProfilePopup .badgeSelectionItem.selected,#editProfilePopup .badgeSelectionItem:hover{opacity:100%}#customThemesWrapper #customThemesEdit{background:#f6f6f6;border-radius:.5rem;padding:2rem;display:grid;gap:1rem;overflow-y:scroll}::ng-deep #timerWrapper{opacity:0;transition:.25s;z-index:-1;position:relative;z-index:99}::ng-deep #timerWrapper #timer{position:fixed;top:0;left:0;width:100vw;height:.5rem;background:#000;z-index:-1}::ng-deep #timerWrapper #timer.timerMain{background:#888}::ng-deep #timerWrapper #timer.timerSub{background:#888}::ng-deep #timerWrapper #timer.timerText{background:#181819}::ng-deep .pageTest{position:relative}::ng-deep .pageTest .ssWatermark{font-size:1.25rem;color:#888;line-height:1rem;text-align:right}::ng-deep .pageTest #timerNumber{pointer-events:none;transition:.25s;color:#000;line-height:0;z-index:-1;text-align:center;left:0;width:100%;position:relative;font-size:10rem;opacity:0;width:0;height:0;margin:0 auto;display:grid;justify-content:center;bottom:6rem;transition:none}::ng-deep .pageTest #largeLiveWpmAndAcc{font-size:10rem;color:#000;width:100%;left:0;text-align:center;z-index:-1;height:0;line-height:0;top:5rem;position:relative;display:grid;grid-auto-flow:column;justify-content:center;gap:5rem;width:0;margin:0 auto}::ng-deep .pageTest #largeLiveWpmAndAcc #liveWpm{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveAcc{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc #liveBurst{opacity:0}::ng-deep .pageTest #largeLiveWpmAndAcc.timerMain,::ng-deep .pageTest #timerNumber.timerMain{color:#888}::ng-deep .pageTest #timer.timerMain{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerSub,::ng-deep .pageTest #timerNumber.timerSub{color:#888}::ng-deep .pageTest #timer.timerSub{background:#888}::ng-deep .pageTest #largeLiveWpmAndAcc.timerText,::ng-deep .pageTest #timerNumber.timerText{color:#181819}::ng-deep .pageTest #timer.timerText{background:#181819}::ng-deep #words,::ng-deep .words{height:fit-content;height:-moz-fit-content;display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none;padding-bottom:1em}::ng-deep #words .newline,::ng-deep .words .newline{width:inherit}::ng-deep #words letter,::ng-deep .words letter{border-bottom-style:solid;border-bottom-width:.05em;border-bottom-color:transparent}::ng-deep #words letter.dead,::ng-deep .words letter.dead{border-bottom-width:.05em;border-bottom-color:#888}::ng-deep #words letter.tabChar,::ng-deep #words letter.nlChar,::ng-deep .words letter.tabChar,::ng-deep .words letter.nlChar{margin:0 .25rem;opacity:.2}::ng-deep #words.rightToLeftTest,::ng-deep .words.rightToLeftTest{direction:rtl}::ng-deep #words.rightToLeftTest .word,::ng-deep .words.rightToLeftTest .word{direction:rtl}::ng-deep #words.withLigatures letter,::ng-deep .words.withLigatures letter{display:inline}::ng-deep #words.blurred,::ng-deep .words.blurred{opacity:.25;filter:blur(4px);-webkit-filter:blur(4px)}::ng-deep #words.flipped .word,::ng-deep .words.flipped .word{color:#181819}::ng-deep #words.flipped .word letter.dead,::ng-deep .words.flipped .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped .word letter.correct,::ng-deep .words.flipped .word letter.correct{color:#888}::ng-deep #words.flipped .word letter.corrected,::ng-deep .words.flipped .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped .word letter.extraCorrected,::ng-deep .words.flipped .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.colorfulMode .word letter.dead,::ng-deep .words.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.colorfulMode .word letter.correct,::ng-deep .words.colorfulMode .word letter.correct{color:#888}::ng-deep #words.colorfulMode .word letter.corrected,::ng-deep .words.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.extraCorrected,::ng-deep .words.colorfulMode .word letter.extraCorrected{border-right:2px dotted #181819}::ng-deep #words.colorfulMode .word letter.incorrect,::ng-deep .words.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.colorfulMode .word letter.incorrect.extra,::ng-deep .words.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.flipped.colorfulMode .word,::ng-deep .words.flipped.colorfulMode .word{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.dead,::ng-deep .words.flipped.colorfulMode .word letter.dead{border-bottom-color:#888!important}::ng-deep #words.flipped.colorfulMode .word letter.correct,::ng-deep .words.flipped.colorfulMode .word letter.correct{color:#888}::ng-deep #words.flipped.colorfulMode .word letter.corrected,::ng-deep .words.flipped.colorfulMode .word letter.corrected{color:#888;border-bottom:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.extraCorrected,::ng-deep .words.flipped.colorfulMode .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep #words.flipped.colorfulMode .word letter.incorrect,::ng-deep .words.flipped.colorfulMode .word letter.incorrect{color:#d33682}::ng-deep #words.flipped.colorfulMode .word letter.incorrect.extra,::ng-deep .words.flipped.colorfulMode .word letter.incorrect.extra{color:#9b225c}::ng-deep #words.tape.size125 .word,::ng-deep .words.tape.size125 .word{margin:.31rem .62rem .31rem 0}::ng-deep #words.tape.size15 .word,::ng-deep .words.tape.size15 .word{margin:.37rem .74rem .37rem 0}::ng-deep #words.tape.size2 .word,::ng-deep .words.tape.size2 .word{margin:.5rem 1rem .5rem 0}::ng-deep #words.tape.size3 .word,::ng-deep .words.tape.size3 .word{margin:.75rem 1.5rem .75rem 0}::ng-deep #words.tape.size4 .word,::ng-deep .words.tape.size4 .word{margin:1rem 2rem 1rem 0}::ng-deep #words.tape.indicateTyposBelow.size125 .word,::ng-deep .words.tape.indicateTyposBelow.size125 .word{margin:.31rem .62rem .93rem 0}::ng-deep #words.tape.indicateTyposBelow.size15 .word,::ng-deep .words.tape.indicateTyposBelow.size15 .word{margin:.37rem .74rem 1.11rem 0}::ng-deep #words.tape.indicateTyposBelow.size2 .word,::ng-deep .words.tape.indicateTyposBelow.size2 .word{margin:.5rem 1rem 1.5rem 0}::ng-deep #words.tape.indicateTyposBelow.size3 .word,::ng-deep .words.tape.indicateTyposBelow.size3 .word{margin:.75rem 1.5rem 2.25rem 0}::ng-deep #words.tape.indicateTyposBelow.size4 .word,::ng-deep .words.tape.indicateTyposBelow.size4 .word{margin:1rem 2rem 3rem 0}::ng-deep .word{margin:.25rem;color:#888;font-variant:no-common-ligatures;border-bottom:2px solid transparent;line-height:1rem}::ng-deep .word letter{display:inline-block}::ng-deep .word.lastbeforenewline:after{font-family:\"Font Awesome 5 Free\";font-weight:600;content:\"\\f107\";margin-left:.5rem;opacity:.25}::ng-deep .word .wordInputAfter{opacity:1;position:absolute;background:#888;color:#f6f6f6;padding:.5rem;margin-left:-.5rem;border-radius:.5rem;transition:.25s;text-shadow:none;top:-.5rem;z-index:10;cursor:text}::ng-deep .word .wordInputAfter .speed{font-size:.75rem}::ng-deep #words.size125 .word{line-height:1.25rem;font-size:max(1.25rem,24px);margin:.31rem}::ng-deep #words.size15 .word{line-height:1.5rem;font-size:max(1.5rem,24px);margin:.37rem}::ng-deep #words.size2 .word{line-height:2rem;font-size:max(2rem,24px);margin:.5rem}::ng-deep #words.size3 .word{line-height:3rem;font-size:max(3rem,24px);margin:.75rem}::ng-deep #words.size4 .word{line-height:4rem;font-size:max(4rem,24px);margin:1rem}::ng-deep #words.nospace .word{margin:.5rem 0}::ng-deep #words.arrows .word{margin:.5rem 0}::ng-deep #words.arrows .word letter{margin:0 .25rem}::ng-deep .word.error{border-bottom:2px solid #d33682;text-shadow:1px 0px 0px #F6F6F6,-1px 0px 0px #F6F6F6,0px 1px 0px #F6F6F6,1px 1px 0px #F6F6F6,-1px 1px 0px #F6F6F6}::ng-deep #words.noErrorBorder .word.error,::ng-deep #resultWordsHistory.noErrorBorder .word.error{text-shadow:none}::ng-deep .word letter.correct{color:#181819}::ng-deep .word letter.corrected{color:#181819;border-bottom:2px dotted #888888}::ng-deep .word letter.extraCorrected{border-right:2px dotted #888888}::ng-deep .word letter.incorrect{color:#d33682;position:relative}::ng-deep .word letter.incorrect hint{position:absolute;bottom:-1em;color:#181819;line-height:initial;font-size:.75em;text-shadow:none;padding:1px;left:0;opacity:.5;text-align:center;width:100%;display:grid;justify-content:center}::ng-deep .word letter.incorrect.extra{color:#9b225c}::ng-deep .word letter.missing{opacity:.5}::ng-deep #words.flipped.colorfulMode .word.error,::ng-deep #words.colorfulMode .word.error{border-bottom:2px solid #d33682}::ng-deep #wordsInput{opacity:0;padding:0;margin:0;border:none;outline:none;display:block;resize:none;position:fixed;z-index:-1;cursor:default;pointer-events:none}::ng-deep #capsWarning{background:#888;color:#f6f6f6;display:table;position:absolute;left:50%;transform:translate(-50%) translateY(-50%);padding:1rem;border-radius:.5rem;transition:.125s;z-index:999;pointer-events:none;top:-2.5rem}::ng-deep #capsWarning i{margin-right:.5rem}::ng-deep #result{display:grid;gap:1rem;align-items:center;grid-template-columns:auto 1fr;grid-template-areas:\"stats chart\" \"morestats morestats\"}::ng-deep #result:focus{outline:none}::ng-deep #result .buttons{display:grid;grid-auto-flow:column;gap:1rem;justify-content:center;grid-column:1/3}::ng-deep #result .ssWatermark{grid-column:1/3}::ng-deep #result #resultWordsHistory,::ng-deep #result #resultReplay{color:#888;margin-bottom:1rem}::ng-deep #result #resultWordsHistory .textButton,::ng-deep #result #resultReplay .textButton{padding:0;margin-left:.5rem}::ng-deep #result #resultWordsHistory .heatmapLegend,::ng-deep #result #resultReplay .heatmapLegend{margin-left:.5rem;display:inline-grid;grid-template-columns:auto auto auto;gap:1rem;font-size:.75rem;color:#888;width:min-content}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes,::ng-deep #result #resultReplay .heatmapLegend .boxes{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box,::ng-deep #result #resultReplay .heatmapLegend .boxes .box{height:1rem;color:#f6f6f6;padding:.1rem .5rem;white-space:nowrap;line-height:.75rem;display:grid;place-content:center center}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(1),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(1){background:#d33682;border-radius:.5rem 0 0 .5rem}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(2),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(2){background:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(3),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(3){background:#888}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(4),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(4){background:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .heatmapLegend .boxes .box:nth-child(5),::ng-deep #result #resultReplay .heatmapLegend .boxes .box:nth-child(5){background:#888;border-radius:0 .5rem .5rem 0}::ng-deep #result #resultWordsHistory .title,::ng-deep #result #resultReplay .title{-webkit-user-select:none;user-select:none;margin-bottom:.25rem}::ng-deep #result #resultWordsHistory .words,::ng-deep #result #resultReplay .words{display:flex;flex-wrap:wrap;width:100%;align-content:flex-start;-webkit-user-select:none;user-select:none}::ng-deep #result #resultWordsHistory .words .word,::ng-deep #result #resultReplay .words .word{position:relative;margin:.18rem .6rem .15rem 0}::ng-deep #result #resultWordsHistory .words .word letter.correct,::ng-deep #result #resultReplay .words .word letter.correct{color:#181819}::ng-deep #result #resultWordsHistory .words .word letter.incorrect,::ng-deep #result #resultReplay .words .word letter.incorrect{color:#d33682}::ng-deep #result #resultWordsHistory .words .word letter.incorrect.extra,::ng-deep #result #resultReplay .words .word letter.incorrect.extra{color:#9b225c}::ng-deep #result #resultWordsHistory .words .word.heatmap0 letter,::ng-deep #result #resultReplay .words .word.heatmap0 letter{color:#d33682}::ng-deep #result #resultWordsHistory .words .word.heatmap1 letter,::ng-deep #result #resultReplay .words .word.heatmap1 letter{color:#d33682;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap2 letter,::ng-deep #result #resultReplay .words .word.heatmap2 letter{color:#888}::ng-deep #result #resultWordsHistory .words .word.heatmap3 letter,::ng-deep #result #resultReplay .words .word.heatmap3 letter{color:#888;filter:opacity(.6)}::ng-deep #result #resultWordsHistory .words .word.heatmap4 letter,::ng-deep #result #resultReplay .words .word.heatmap4 letter{color:#888}::ng-deep #result #resultWordsHistory .words.rightToLeftTest,::ng-deep #result #resultReplay .words.rightToLeftTest{direction:rtl}::ng-deep #result #resultWordsHistory .words.rightToLeftTest .word,::ng-deep #result #resultReplay .words.rightToLeftTest .word{direction:rtl}::ng-deep #result #resultWordsHistory .words.withLigatures letter,::ng-deep #result #resultReplay .words.withLigatures letter{display:inline}::ng-deep #result .chart{grid-area:chart;width:100%;max-height:200px;height:200px}::ng-deep #result .chart canvas{width:100%!important;height:100%}::ng-deep #result .chart .title{color:#888;margin-bottom:1rem}::ng-deep #result .loginTip{grid-column:1/3;text-align:center;color:#888}::ng-deep #result .loginTip .link{text-decoration:underline;display:inline-block;cursor:pointer}::ng-deep #result .stats{grid-area:stats;display:grid;gap:.5rem;justify-content:center;align-items:center;grid-template-areas:\"wpm\" \"acc\"}::ng-deep #result .stats.morestats{display:grid;grid-auto-flow:column;grid-template-areas:none;align-items:flex-start;justify-content:space-between;column-gap:2rem;grid-area:morestats}::ng-deep #result .stats.morestats .subgroup{display:grid;gap:.5rem}::ng-deep #result .stats .group .top{color:#888;font-size:1rem;line-height:1rem;margin-bottom:.25rem}::ng-deep #result .stats .group .bottom{color:#888;font-size:2rem;line-height:2rem}::ng-deep #result .stats .group.time .afk,::ng-deep #result .stats .group.time .timeToday{color:#888;font-size:.75rem;line-height:.75rem;margin-left:.2rem}::ng-deep #result .stats .group.source #rateQuoteButton,::ng-deep #result .stats .group.source #reportQuoteButton,::ng-deep #result .stats .group.source #favoriteQuoteButton{padding:0 .25rem}::ng-deep #result .stats .group.source #rateQuoteButton{display:inline-grid;gap:.25rem}::ng-deep #result .stats .info .top,::ng-deep #result .stats .tags .top,::ng-deep #result .stats .source .top{font-size:1rem;line-height:1rem}::ng-deep #result .stats .info .bottom,::ng-deep #result .stats .tags .bottom,::ng-deep #result .stats .source .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .source{max-width:30rem}::ng-deep #result .stats .tags .bottom .fas{margin-left:.5rem}::ng-deep #result .stats .wpm{grid-area:wpm}::ng-deep #result .stats .wpm .top{font-size:2rem;line-height:1.5rem;display:flex}::ng-deep #result .stats .wpm .top .crown{margin-left:.5rem;margin-top:-.2rem;font-size:.7rem;line-height:1.7rem;background:#888;color:#f6f6f6;border-radius:.6rem;text-align:center;align-self:center;width:1.7rem;height:1.7rem}::ng-deep #result .stats .wpm .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .testType .bottom,::ng-deep #result .stats .leaderboards .bottom{font-size:1rem;line-height:1rem}::ng-deep #result .stats .testType .bottom .lbChange .fas,::ng-deep #result .stats .leaderboards .bottom .lbChange .fas{margin-right:.15rem}::ng-deep #result .stats .acc{grid-area:acc}::ng-deep #result .stats .acc .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .acc .bottom{font-size:4rem;line-height:4rem}::ng-deep #result .stats .burst{grid-area:burst}::ng-deep #result .stats .burst .top{font-size:2rem;line-height:1.5rem}::ng-deep #result .stats .burst .bottom{font-size:4rem;line-height:4rem}::ng-deep #restartTestButton,::ng-deep #showWordHistoryButton,::ng-deep #saveScreenshotButton,::ng-deep #restartTestButtonWithSameWordset,::ng-deep #nextTestButton,::ng-deep #practiseWordsButton,::ng-deep #watchReplayButton,::ng-deep #watchVideoAdButton{position:relative;border-radius:.5rem;padding:1rem 2rem;width:min-content;width:-moz-min-content;color:#888;transition:.125s;cursor:pointer}::ng-deep #restartTestButton:hover,::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:hover,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:hover,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:hover,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:hover,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:hover,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:hover,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:hover,::ng-deep #watchVideoAdButton:focus{color:#181819;outline:none}::ng-deep #restartTestButton:focus,::ng-deep #showWordHistoryButton:focus,::ng-deep #saveScreenshotButton:focus,::ng-deep #restartTestButtonWithSameWordset:focus,::ng-deep #nextTestButton:focus,::ng-deep #practiseWordsButton:focus,::ng-deep #watchReplayButton:focus,::ng-deep #watchVideoAdButton:focus{background:#181819;color:#f6f6f6}::ng-deep #retrySavingResultButton{position:relative;border-radius:.5rem;padding:1rem 2rem;color:#d33682;transition:.25s;cursor:pointer;width:max-content;width:-moz-max-content;background:#d33682;color:#f6f6f6;justify-self:center;justify-content:center;margin:0 auto 1rem;-webkit-user-select:none;user-select:none}::ng-deep #retrySavingResultButton:hover,::ng-deep #retrySavingResultButton:focus{background:#181819;outline:none}::ng-deep #retrySavingResultButton:focus{background:#181819}::ng-deep #showWordHistoryButton{opacity:1}::ng-deep #replayWords{cursor:pointer}::ng-deep #replayStopwatch{color:#888;display:inline-block;margin:0 0 0 .5em}::ng-deep #restartTestButton{margin:0 auto;margin-top:1rem}::ng-deep .pageTest #wordsWrapper{position:relative}::ng-deep .pageTest #wordsWrapper.tape{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 1%,rgb(0,0,0) 10%,rgb(0,0,0) 90%,rgba(0,0,0,0) 99%);mask-image:linear-gradient(90deg,#0000 1%,#000 10% 90%,#0000 99%)}::ng-deep .pageTest #memoryTimer{background:#888;color:#f6f6f6;padding:1rem;border-radius:.5rem;text-align:center;width:max-content;left:50%;position:absolute;transform:translate(-50%);top:-6rem;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0}::ng-deep .pageTest .outOfFocusWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .pageTest .errorWarning{text-align:center;height:0;line-height:150px;z-index:999;position:relative;-webkit-user-select:auto;user-select:auto}::ng-deep .pageTest #testModesNotice{display:flex;flex-wrap:wrap;color:#888;text-align:center;margin-bottom:.5rem;transition:.125s;justify-content:center;-webkit-user-select:none;user-select:none}::ng-deep .pageTest #testModesNotice .textButton{margin:0 .5rem}::ng-deep .pageTest #testModesNotice .fas{margin-right:.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm{height:0;margin-left:.37rem;display:flex;font-size:1rem;line-height:1.13rem;margin-top:-1.5rem;position:absolute;color:#000;font-weight:700}::ng-deep .pageTest #miniTimerAndLiveWpm .time{margin-right:2rem;margin-top:-2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc{margin-right:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm .time,::ng-deep .pageTest #miniTimerAndLiveWpm .wpm,::ng-deep .pageTest #miniTimerAndLiveWpm .acc,::ng-deep .pageTest #miniTimerAndLiveWpm .burst{opacity:0}::ng-deep .pageTest #miniTimerAndLiveWpm.timerMain{color:#00000080}::ng-deep .pageTest #miniTimerAndLiveWpm.timerSub{color:#888}::ng-deep .pageTest #miniTimerAndLiveWpm.timerText{color:#181819}::ng-deep .pageTest #miniTimerAndLiveWpm.size125{margin-top:-1.75rem;font-size:1.38rem;line-height:1.25rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size15{margin-top:-2rem;font-size:1.63rem;line-height:1.5rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size2{margin-top:-2.5rem;font-size:2.13rem;line-height:2rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size3{margin-top:-3.5rem;font-size:3.13rem;line-height:3rem}::ng-deep .pageTest #miniTimerAndLiveWpm.size4{margin-top:-4.5rem;font-size:4.13rem;line-height:4rem}::ng-deep #middle.focus .pageTest #testModesNotice{opacity:0!important}@media only screen and (max-width: 1330px){.ad.ad-v{display:none}#app{grid-template-columns:auto}}@media only screen and (max-width: 1250px){#leaderboardsWrapper #leaderboards .mainTitle{font-size:2rem}#leaderboardsWrapper #leaderboards .title{font-size:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop{grid-template-columns:auto 1fr max-content}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row;gap:.5rem}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:none}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem .5rem}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr 1fr max-content}}@media only screen and (max-width: 1050px){.profile .pbsWords,.profile .pbsTime{font-size:.8rem}.profile .details.bioAndKey .bioAndKeyboard .value{font-size:.75rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr 1fr}#quoteSearchPopupWrapper #quoteSearchPopup #quoteSearchControlsWrapper{grid-template-columns:1fr}#result .morestats{gap:1rem;grid-template-rows:1fr 1fr}#supportMe{width:90vw!important}#supportMe .buttons .button .icon{font-size:3rem!important;line-height:3rem!important}#customTextPopup{width:80vw!important}#customTextPopup .wordfilter.button{width:50%!important}}@media only screen and (max-width: 1000px){#quoteRatePopup{width:90vw!important}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr;grid-auto-flow:row;grid-template-columns:auto auto auto auto}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr;gap:.25rem 1rem}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(5){display:none}}@media only screen and (max-width: 900px){.ad.ad-h{display:none}.ad.ad-h-s{display:grid}.profile .pbsWords,.profile .pbsTime{font-size:1rem}.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.soc{grid-template-columns:1.25fr auto 1fr auto auto}.profile .details.soc .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-columns:1.25fr auto auto auto 1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-columns:1.25fr auto 1.25fr auto;grid-template-areas:\"avAndName sep2 bioAndKey bioAndKey\" \"typingStats typingStats typingStats socials\"}.profile .details.both .sep1,.profile .details.both .sep3{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr;width:100%}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}.profile .details.none{grid-template-columns:1fr auto 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}#leaderboards .mainTitle{font-size:1.5rem!important}#bannerCenter .banner .container{grid-template-columns:1fr auto}#bannerCenter .banner .container .image,#bannerCenter .banner .container .lefticon,#bannerCenter .banner .container .righticon{display:none}#bannerCenter .banner .container .text{margin-left:1.5rem;text-align:left;justify-self:start}.merchBanner img{display:none}.merchBanner .text{padding:.25rem 0}.pageSettings .section.autoSwitchThemeInputs{grid-template-columns:1fr 3fr}.pageAccount .group.personalBestTables .tables{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(1),.pageAccount .group.history table thead td:nth-child(8),.pageAccount .group.history table thead td:nth-child(9),.pageAccount .group.history table tbody td:nth-child(1),.pageAccount .group.history table tbody td:nth-child(8),.pageAccount .group.history table tbody td:nth-child(9){display:none}}@media only screen and (max-width: 800px){.pageSettings .settingsGroup.quickNav .links{grid-auto-flow:unset;grid-template-columns:1fr 1fr 1fr;justify-items:center}#centerContent #top{grid-template-areas:\"logo config\" \"menu config\";grid-template-columns:auto auto}#centerContent #top .logo{margin-bottom:0}#centerContent #menu{gap:.5rem;font-size:.8rem;line-height:.8rem;margin-top:-.5rem}#centerContent #menu .textButton{padding:.25rem}#contactPopupWrapper #contactPopup .buttons{grid-template-columns:1fr}.pageAbout .section .contributors,.pageAbout .section .supporters{grid-template-columns:1fr 1fr 1fr}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons{grid-template-columns:1fr 1fr}.pageSettings .section.customBackgroundFilter .groups{grid-template-columns:1fr}.pageSettings .section.customBackgroundFilter .saveContainer{grid-column:-1/-2}#commandLine,#commandLineInput{width:600px!important}#leaderboardsWrapper #leaderboards .leaderboardsTop{flex-direction:column;align-items:baseline;grid-template-areas:\"title title\" \"subtitle subtitle\" \"yesterday yesterday\" \"buttons buttons\";grid-template-columns:1fr}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttons{margin-top:.5rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:column}#leaderboardsWrapper #leaderboards .leaderboardsTop .showYesterdayButton{margin-left:0}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{width:30%}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}}@media only screen and (max-width: 700px){.pageAccount .presetFilterButtons .buttons{grid-template-columns:1fr}.pageAccount .triplegroup{grid-template-columns:1fr 1fr}.pageAccount .triplegroup .emptygroup{display:none}.pageAccount .group.chart .below{grid-template-columns:1fr;gap:.5rem}.pageAccount .group.topFilters .buttonsAndTitle .buttons{display:grid;justify-content:unset}.pageAccount .group.history table thead td:nth-child(6),.pageAccount .group.history table tbody td:nth-child(6){display:none}.badge:after,.badge:before{display:none}}@media only screen and (max-width: 650px){.profile{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:\"info\" \"pbsTime\" \"pbsWords\"}.profile .details.none{grid-template-areas:\"avAndName\" \"typingStats\";grid-template-columns:1fr}.profile .details.none .separator{display:none}.profile .details.none .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\";grid-template-columns:1fr 1fr}.profile .details.bioAndKey .separator{display:none}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc{grid-template-areas:\"avAndName\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.soc .separator{display:none}.profile .details.soc .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.soc .socials{justify-content:start}.profile .details.soc .socials .title{display:block}.profile .details.soc .socials .value{grid-auto-flow:column}.profile .details.both{grid-template-areas:\"avAndName bioAndKey\" \"typingStats typingStats\" \"socials socials\";grid-template-columns:1fr 1fr}.profile .details.both .separator{display:none}.profile .details.both .typingStats{grid-template-columns:1fr 1fr 1fr}.profile .details.both .socials{justify-content:start}.profile .details.both .socials .title{display:block}.profile .details.both .socials .value{grid-auto-flow:column}#quoteRatePopup .ratingStats{grid-template-columns:1fr 1fr!important}#quoteRatePopup .quote{grid-template-areas:\"text text text\" \"source source source\" \"id length length\"!important}.pageSettings .section{grid-template-columns:1fr;grid-template-areas:\"title\" \"text\" \"buttons\"}.pageSettings .section>.text{margin-bottom:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/5;width:100%;text-align:center}#supportMe{width:80vw!important}#supportMe .buttons{grid-template-columns:none!important}#supportMe .buttons .button{grid-template-columns:auto 1fr;align-items:center}#supportMe .buttons .button .icon{font-size:2rem!important;line-height:2rem!important;margin-left:2rem}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr 1fr}}@media only screen and (max-width: 600px){.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr 1fr}#top .logo .bottom{margin-top:0}.pageLogin{display:grid;gap:5rem;grid-auto-flow:unset}#middle #result{grid-template-areas:\"stats stats\" \"chart chart\" \"morestats morestats\"}#middle #result .stats{grid-template-areas:\"wpm acc\";gap:2rem}#middle #result .stats.morestats{grid-template-rows:1fr 1fr 1fr;gap:1rem}#leaderboardsWrapper #leaderboards .leaderboardsTop .buttonGroup{grid-auto-flow:row}#commandLine,#commandLineInput{width:500px!important}#customTextPopupWrapper #customTextPopup .wordfilter.button{width:100%!important;justify-self:auto}#customTextPopupWrapper #customTextPopup .inputs{display:flex!important;flex-direction:column;justify-content:flex-start}.pageAccount .group.history table thead td:nth-child(7),.pageAccount .group.history table thead td:nth-child(5),.pageAccount .group.history table tbody td:nth-child(7),.pageAccount .group.history table tbody td:nth-child(5){display:none}}@media only screen and (max-width: 550px){.profile .pbsWords,.profile .pbsTime{font-size:.9rem}.profile .pbsWords,.profile .pbsTime{grid-template-columns:1fr 1fr}.profile .details.none .typingStats{grid-template-columns:1fr}.profile .details.bioAndKey{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\";grid-template-columns:1fr}.profile .details.bioAndKey .typingStats{grid-template-columns:1fr}.profile .details.both{grid-template-areas:\"avAndName\" \"bioAndKey\" \"typingStats\" \"socials\";grid-template-columns:1fr}.profile .details.both .typingStats{grid-template-columns:1fr}#cookiePopupWrapper #cookiePopup,#cookiePopupWrapper .extensionMessage{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}#contactPopupWrapper #contactPopup .buttons .button .text{font-size:1rem}#contactPopupWrapper #contactPopup .buttons .button .icon{font-size:1.5rem;line-height:1.5rem}#contactPopupWrapper #contactPopup{padding:1rem}.pageAbout .section .supporters,.pageAbout .section .contributors{grid-template-columns:1fr}#simplePopupWrapper #simplePopup{width:90vw}#quoteReportPopup{width:calc(100% - 2rem);margin-left:1rem;max-width:800px;padding:1rem}.pageSettings .settingsGroup.quickNav{display:none}.pageSettings .section.fullWidth .buttons{grid-template-columns:1fr}.pageSettings .section .buttons{grid-auto-flow:row}.pageSettings .section.customBackgroundFilter .groups .group{grid-template-columns:auto 1fr}.pageSettings .section.customBackgroundFilter .groups .group .title{grid-column:1/3}.pageAbout .section .contactButtons,.pageAbout .section .supportButtons,.pageAccount .triplegroup{grid-template-columns:1fr}.pageAccount .group.history table thead td:nth-child(3),.pageAccount .group.history table tbody td:nth-child(3){display:none}#top{align-items:self-end}#top .logo .icon{width:1.5rem!important}#top .logo .text{font-size:1.5rem!important;margin-bottom:.3rem!important}#top .logo .bottom{font-size:1.75rem;line-height:1.75rem;margin-top:0}#top .logo .top{display:none}#top #menu .textButton{padding:0}#bottom .leftright .left{gap:.25rem 1rem;display:grid;grid-template-rows:1fr 1fr 1fr;grid-template-columns:auto auto auto;grid-auto-flow:row}#bottom .leftright .right{display:grid;grid-template-rows:1fr 1fr 1fr;gap:.25rem 1rem}#centerContent{padding:1rem}#centerContent #top{grid-template-columns:1fr auto}#centerContent #top .desktopConfig{display:none}#centerContent #top .mobileConfig{display:block}#middle #result .stats{grid-template-areas:\"wpm\" \"acc\";gap:1rem}#result .buttons{grid-template-rows:1fr 1fr 1fr 1fr}#result .buttons #nextTestButton{grid-column:1/3;width:100%;text-align:center}#commandLine,#commandLineInput{width:400px!important}#leaderboardsWrapper #leaderboards{width:85vw}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 10rem)}#leaderboardsWrapper #leaderboards .tables{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table .avatarNameBadge .badge .text{display:block}#leaderboardsWrapper #leaderboards .tables table tr td:nth-child(4){display:none}}@media only screen and (max-width: 400px){#top .config{grid-gap:.25rem}#top .config .group .buttons{font-size:.65rem;line-height:.65rem}#bottom{font-size:.65rem}#bottom .leftright{grid-template-columns:1fr 1fr}#bottom .leftright .left{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;grid-auto-flow:row}#bottom .leftright .right{grid-template-rows:1fr 1fr 1fr 1fr;gap:.25rem 1rem}#commandLine,#commandLineInput{width:300px!important}#leaderboardsWrapper #leaderboards .tables .titleAndTable .titleAndButtons{grid-template-columns:unset}#leaderboardsWrapper #leaderboards .tables table tr td:first-child{padding-left:.25rem}#leaderboardsWrapper #leaderboards .tables table tr td:last-child{padding-right:.25rem}#leaderboardsWrapper #leaderboards .tables table td{padding:.25rem}#leaderboardsWrapper #leaderboards .tables .rightTableWrapper,#leaderboardsWrapper #leaderboards .tables .leftTableWrapper{height:calc(50vh - 9rem)}}@media only screen and (max-width: 350px){.ad.ad-h-s{display:none}.pageLogin .side input{width:90vw}.page404 .content,.page404 .content .image{width:100%}.page404 .content .big{font-size:7rem;line-height:7rem}}@media (hover: none) and (pointer: coarse){#commandLineMobileButton{display:block!important}}\n"] }]
4690
4674
  }], propDecorators: { replayExport: [{
4691
4675
  type: Input$1
4692
4676
  }], funbox: [{