@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.
- package/fesm2022/testgorilla-tgo-typing-test.mjs +795 -811
- package/fesm2022/testgorilla-tgo-typing-test.mjs.map +1 -1
- package/lib/helpers/config.d.ts +4 -4
- package/lib/utils/misc.d.ts +0 -1
- package/package.json +6 -8
- package/esm2022/index.mjs +0 -3
- package/esm2022/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.mjs +0 -45
- package/esm2022/lib/components/tgo-typing-test/tgo-typing-test.component.mjs +0 -299
- package/esm2022/lib/helpers/config.mjs +0 -24
- package/esm2022/lib/helpers/constants/default-config.mjs +0 -103
- package/esm2022/lib/helpers/controllers/input-controller.mjs +0 -586
- package/esm2022/lib/helpers/controllers/quotes-controller.mjs +0 -118
- package/esm2022/lib/helpers/observables/config-event.mjs +0 -16
- package/esm2022/lib/helpers/observables/timer-event.mjs +0 -16
- package/esm2022/lib/helpers/states/active-page.mjs +0 -8
- package/esm2022/lib/helpers/states/composition.mjs +0 -20
- package/esm2022/lib/helpers/states/page-transition.mjs +0 -8
- package/esm2022/lib/helpers/states/slow-timer.mjs +0 -15
- package/esm2022/lib/helpers/states/test-active.mjs +0 -8
- package/esm2022/lib/helpers/states/time.mjs +0 -11
- package/esm2022/lib/helpers/test/caps-warning.mjs +0 -50
- package/esm2022/lib/helpers/test/caret.mjs +0 -80
- package/esm2022/lib/helpers/test/custom-text.mjs +0 -59
- package/esm2022/lib/helpers/test/english-punctuation.mjs +0 -29
- package/esm2022/lib/helpers/test/focus.mjs +0 -35
- package/esm2022/lib/helpers/test/manual-restart-tracker.mjs +0 -11
- package/esm2022/lib/helpers/test/out-of-focus.mjs +0 -14
- package/esm2022/lib/helpers/test/replay.mjs +0 -217
- package/esm2022/lib/helpers/test/test-input.mjs +0 -264
- package/esm2022/lib/helpers/test/test-logic.mjs +0 -927
- package/esm2022/lib/helpers/test/test-state.mjs +0 -13
- package/esm2022/lib/helpers/test/test-stats.mjs +0 -342
- package/esm2022/lib/helpers/test/test-timer.mjs +0 -207
- package/esm2022/lib/helpers/test/test-ui.mjs +0 -341
- package/esm2022/lib/helpers/test/test-words.mjs +0 -69
- package/esm2022/lib/helpers/test/timer-progress.mjs +0 -15
- package/esm2022/lib/helpers/test/weak-spot.mjs +0 -65
- package/esm2022/lib/helpers/test/wordset.mjs +0 -100
- package/esm2022/lib/utils/misc.mjs +0 -673
- 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
|
-
|
|
937
|
-
function
|
|
938
|
-
|
|
936
|
+
const subscribers = [];
|
|
937
|
+
function subscribe(fn) {
|
|
938
|
+
subscribers.push(fn);
|
|
939
939
|
}
|
|
940
|
-
function
|
|
941
|
-
|
|
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
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
function
|
|
1385
|
-
|
|
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
|
|
1388
|
-
|
|
1416
|
+
function setIsWordRandom(val) {
|
|
1417
|
+
isWordRandom = val;
|
|
1389
1418
|
}
|
|
1390
|
-
function
|
|
1391
|
-
|
|
1419
|
+
function setIsTimeRandom(val) {
|
|
1420
|
+
isTimeRandom = val;
|
|
1392
1421
|
}
|
|
1393
|
-
function
|
|
1394
|
-
|
|
1422
|
+
function setTime(val) {
|
|
1423
|
+
time$1 = val;
|
|
1395
1424
|
}
|
|
1396
|
-
function
|
|
1397
|
-
|
|
1425
|
+
function setWord(val) {
|
|
1426
|
+
word = val;
|
|
1398
1427
|
}
|
|
1399
|
-
|
|
1400
|
-
|
|
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
|
|
1415
|
-
|
|
1431
|
+
function getCustomText(name) {
|
|
1432
|
+
const customText = getCustomTextObject();
|
|
1433
|
+
return customText[name].split(/ +/);
|
|
1416
1434
|
}
|
|
1417
|
-
function
|
|
1418
|
-
|
|
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
|
|
1421
|
-
|
|
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
|
|
1424
|
-
|
|
1449
|
+
function getCustomTextObject() {
|
|
1450
|
+
return JSON.parse(window.localStorage.getItem("customText") ?? "{}");
|
|
1425
1451
|
}
|
|
1426
|
-
function
|
|
1427
|
-
|
|
1452
|
+
function getCustomTextNames() {
|
|
1453
|
+
return Object.keys(getCustomTextObject());
|
|
1428
1454
|
}
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
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
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
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
|
|
1444
|
-
|
|
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
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
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
|
|
1451
|
-
|
|
1452
|
-
wordsInput$2.focus();
|
|
1453
|
-
}
|
|
1512
|
+
function setCapsWarningElement(capsWarningElem) {
|
|
1513
|
+
capsWarning = capsWarningElem;
|
|
1454
1514
|
}
|
|
1455
|
-
function
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
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 (
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
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
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
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
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
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 (
|
|
1505
|
-
|
|
1593
|
+
else if (item.action === 'submitCorrectWord' || item.action === 'submitErrorWord') {
|
|
1594
|
+
wordCount++;
|
|
1506
1595
|
}
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
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
|
-
|
|
1512
|
-
|
|
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
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
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
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1642
|
+
if (item.action === 'correctLetter') {
|
|
1643
|
+
// if (!nosound) playSound();
|
|
1644
|
+
activeWord.children[curPos].classList.add('correct');
|
|
1645
|
+
curPos++;
|
|
1528
1646
|
}
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
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
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
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
|
-
|
|
1669
|
+
myElement.className = '';
|
|
1571
1670
|
}
|
|
1572
1671
|
}
|
|
1573
1672
|
}
|
|
1574
|
-
else {
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
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
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
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
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
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
|
|
1714
|
-
|
|
1715
|
-
return;
|
|
1716
|
-
document.querySelectorAll('#words .word')[index].classList.add('error');
|
|
1715
|
+
function stopReplayRecording() {
|
|
1716
|
+
replayRecording = false;
|
|
1717
1717
|
}
|
|
1718
|
-
function
|
|
1719
|
-
if (!
|
|
1720
|
-
|
|
1718
|
+
function addReplayEvent(action, value) {
|
|
1719
|
+
if (!replayRecording) {
|
|
1720
|
+
return;
|
|
1721
1721
|
}
|
|
1722
|
-
|
|
1722
|
+
const timeDelta = performance.now() - replayStartTime;
|
|
1723
|
+
replayData.push({ action: action, value: value, time: timeDelta });
|
|
1723
1724
|
}
|
|
1724
|
-
function
|
|
1725
|
-
|
|
1726
|
-
|
|
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
|
-
|
|
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
|
|
1731
|
-
|
|
1759
|
+
function getReplayExport() {
|
|
1760
|
+
return JSON.stringify({
|
|
1761
|
+
replayData: replayData,
|
|
1762
|
+
wordsList: wordsList,
|
|
1763
|
+
});
|
|
1732
1764
|
}
|
|
1733
|
-
|
|
1734
|
-
|
|
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
|
|
1754
|
-
|
|
1768
|
+
function playpauseReplayButtonClick() {
|
|
1769
|
+
if (toggleButton?.className === 'Play') {
|
|
1770
|
+
playReplay();
|
|
1771
|
+
}
|
|
1772
|
+
else if (toggleButton?.className === 'Pause') {
|
|
1773
|
+
pauseReplay();
|
|
1774
|
+
}
|
|
1755
1775
|
}
|
|
1756
|
-
|
|
1757
|
-
|
|
1776
|
+
|
|
1777
|
+
let isRepeated = false;
|
|
1778
|
+
let isPaceRepeat = false;
|
|
1779
|
+
let activeChallenge = null;
|
|
1780
|
+
function setRepeated(tf) {
|
|
1781
|
+
isRepeated = tf;
|
|
1758
1782
|
}
|
|
1759
|
-
function
|
|
1760
|
-
|
|
1783
|
+
function setPaceRepeat(tf) {
|
|
1784
|
+
isPaceRepeat = tf;
|
|
1761
1785
|
}
|
|
1762
|
-
function
|
|
1763
|
-
|
|
1786
|
+
function setActiveChallenge(val) {
|
|
1787
|
+
activeChallenge = val;
|
|
1764
1788
|
}
|
|
1765
|
-
|
|
1766
|
-
|
|
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
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
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$
|
|
2129
|
+
function get$1() {
|
|
2187
2130
|
return time;
|
|
2188
2131
|
}
|
|
2189
|
-
function set
|
|
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$
|
|
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
|
|
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$
|
|
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$
|
|
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$
|
|
2347
|
-
(get$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
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
|
|
2442
|
-
|
|
2352
|
+
function getComposing() {
|
|
2353
|
+
return compositionState.composing;
|
|
2443
2354
|
}
|
|
2444
|
-
function
|
|
2445
|
-
|
|
2355
|
+
function getStartPos() {
|
|
2356
|
+
return compositionState.startPos;
|
|
2446
2357
|
}
|
|
2447
|
-
function
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
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
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
letter.
|
|
2469
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
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
|
|
2496
|
-
|
|
2497
|
-
|
|
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
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
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
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
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
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
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
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2587
|
-
replayData.push({ action: action, value: value, time: timeDelta });
|
|
2676
|
+
currentTestLine++;
|
|
2588
2677
|
}
|
|
2589
|
-
function
|
|
2590
|
-
|
|
2591
|
-
wordPos = 0;
|
|
2592
|
-
if (toggleButton === undefined)
|
|
2678
|
+
function highlightBadWord(index, showError) {
|
|
2679
|
+
if (!showError)
|
|
2593
2680
|
return;
|
|
2594
|
-
|
|
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
|
|
2633
|
-
if (
|
|
2634
|
-
|
|
2683
|
+
function wordsInputFocusTestUI() {
|
|
2684
|
+
if (!resultVisible && config.showOutOfFocusWarning) {
|
|
2685
|
+
hide$1();
|
|
2635
2686
|
}
|
|
2636
|
-
|
|
2637
|
-
|
|
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$
|
|
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$
|
|
3100
|
-
if (!get$
|
|
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$
|
|
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$
|
|
3140
|
+
set$4(false);
|
|
3141
3141
|
setBailout(false);
|
|
3142
|
-
if (get$
|
|
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$
|
|
3152
|
-
set$
|
|
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$
|
|
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 !==
|
|
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$
|
|
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 ===
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
4009
|
+
if (!get$4() && !startTest()) {
|
|
4010
4010
|
return;
|
|
4011
4011
|
}
|
|
4012
|
-
set$
|
|
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$
|
|
4486
|
+
if (!get$4())
|
|
4487
4487
|
return;
|
|
4488
4488
|
wordsInputFocus(event);
|
|
4489
4489
|
wordsInputFocusTestUI();
|
|
4490
4490
|
}
|
|
4491
4491
|
wordsInputFocusOut() {
|
|
4492
|
-
if (!get$
|
|
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: "
|
|
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
|
-
|
|
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
|
-
|
|
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: "
|
|
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',
|
|
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
|
-
|
|
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
|
-
|
|
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: "
|
|
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: "
|
|
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: [{
|