/* OnlineTools Kenya Language Lab 1.3.0. System fonts; original local UI. */
.otk-language-lab{--ll-blue:#0053e2;--ll-ink:#112039;--ll-muted:#536278;--ll-line:#dce4ed;--ll-pale:#f3f7fe;--ll-green:#087549;--ll-red:#aa2140;color:var(--ll-ink);font:400 16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-width:0;isolation:isolate}
.otk-language-lab *{box-sizing:border-box}
.otk-language-lab [hidden]{display:none!important}
.otk-language-lab h2,.otk-language-lab h3,.otk-language-lab p{margin:0}
.otk-language-lab button,.otk-language-lab input,.otk-language-lab select,.otk-language-lab textarea{font:inherit;max-width:100%}
.otk-language-lab button{cursor:pointer;touch-action:manipulation}
.otk-language-lab button:disabled{cursor:default;opacity:.52}
.otk-language-lab :focus-visible{outline:3px solid #0053e2;outline-offset:3px}
.ll-masthead{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:24px}
.ll-masthead h2{font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.2;letter-spacing:-.035em;max-width:25ch;margin:5px 0 12px}
.ll-eyebrow{font-size:.71rem;font-weight:800;letter-spacing:.14em;color:var(--ll-blue)}
.ll-lead{color:var(--ll-muted);max-width:66ch;font-size:.98rem}
.ll-local-pill{white-space:nowrap;border-radius:100px;background:#e9f7ee;color:#126c42;padding:7px 11px;font-size:.73rem;font-weight:750}
.ll-review-note,.ll-source-note{padding:12px 15px;border:1px solid #ead9b6;border-left:4px solid #a55e00;background:#fffaf1;border-radius:0 8px 8px 0;font-size:.88rem;line-height:1.55;margin:14px 0!important}
.ll-source-note{border-color:#c9dbf4;border-left-color:var(--ll-blue);background:#f4f8ff}
.ll-setup{border:1px solid var(--ll-line);border-radius:14px;background:#fff;overflow:hidden}
.ll-setup>summary{font-weight:720;padding:15px 18px;cursor:pointer;background:var(--ll-pale);min-height:52px}
.ll-setup-body{padding:18px;display:grid;gap:18px}
.ll-field{min-width:0}
.ll-field>label{display:block;font-size:.86rem;font-weight:680;margin-bottom:7px}
.ll-field textarea,.ll-field select,.ll-field input:not([type=checkbox]){width:100%;border:1px solid #b9c6d8;border-radius:8px;padding:11px 12px;color:var(--ll-ink);background:white}
.ll-field textarea{min-height:118px;resize:vertical;line-height:1.6;direction:auto}
.ll-field input[type=checkbox]{width:20px;height:20px;accent-color:var(--ll-blue)}
.ll-check-field{display:grid;grid-template-columns:22px 1fr;column-gap:10px;align-items:center}
.ll-check-field>label{grid-column:2;grid-row:1;margin:0}
.ll-check-field>input{grid-column:1;grid-row:1;margin:0}
.ll-check-field>.ll-help{grid-column:2}
.ll-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ll-help{font-size:.79rem;color:var(--ll-muted);line-height:1.55;margin-top:7px!important;overflow-wrap:anywhere}
.ll-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}
.ll-primary,.ll-secondary{min-height:44px;padding:10px 17px;border:1px solid transparent;border-radius:8px;font-weight:720;font-size:.86rem;line-height:1.3;text-align:center}
.ll-primary{background:var(--ll-blue);border-color:var(--ll-blue);color:#fff}
.ll-primary:hover:not(:disabled){background:#0044b9;border-color:#0044b9}
.ll-secondary{background:#fff;border-color:#c2cee0;color:var(--ll-ink)}
.ll-secondary:hover:not(:disabled){background:#eef4ff;border-color:#789bca}
.ll-status{color:#365779;font-size:.84rem;min-height:24px;margin:12px 0!important;overflow-wrap:anywhere}
.ll-error{background:#fff0f2;border:1px solid #e6b3c0;border-left:4px solid #b52041;color:#8a1932;border-radius:0 8px 8px 0;padding:12px 14px;margin:12px 0}
.ll-play{padding:20px;border:1px solid var(--ll-line);border-radius:16px;background:#fff;margin-top:18px}
.ll-session-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.ll-session-top h3{font-size:1.1rem;line-height:1.35}
.ll-phase{background:#e9f0ff;color:#164da3;font-size:.76rem;font-weight:700;padding:5px 10px;border-radius:100px;white-space:nowrap}
.ll-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--ll-line);border-radius:10px;background:#f8faff;overflow:hidden;margin-bottom:20px}
.ll-metric{padding:13px 10px;text-align:center;min-width:0;border-right:1px solid var(--ll-line)}
.ll-metric:last-child{border:0}
.ll-metric strong{display:block;font-size:1.5rem;font-variant-numeric:tabular-nums;letter-spacing:-.045em;line-height:1.35}
.ll-metric span{display:block;font-size:.67rem;line-height:1.4;color:var(--ll-muted);font-weight:620}
.ll-trail{position:relative;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(1.45rem,3.4vw,2.05rem);line-height:1.95;letter-spacing:.035em;font-weight:550;border:1px solid #d2dfed;border-radius:12px;background:#f7faff;padding:20px;max-height:260px;min-height:118px;overflow-y:auto;overscroll-behavior:contain}
.ll-character{border-radius:3px;padding:1px 0;color:#69758a}
.ll-character-correct{background:#e0f5e9;color:#096239}
.ll-character-error{background:#ffe5eb;color:#9c1736;text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:#ba2848;text-underline-offset:5px}
.ll-character-next{box-shadow:inset 0 -3px 0 #0053e2;color:#003caa;background:#e7efff}
.ll-linebreak::before{content:"↵";font-size:.6em;opacity:.7;letter-spacing:0}
.ll-full-passage{margin:10px 0 15px;font-size:.82rem}
.ll-full-passage summary,.ll-data-details summary{cursor:pointer;color:#17498f;font-weight:650;padding:8px 0;min-height:36px}
.ll-plain-passage{white-space:pre-wrap;overflow-wrap:anywhere;direction:auto;padding:12px;background:#f5f7fa;border:1px solid var(--ll-line);border-radius:8px;color:#283750}
.ll-input-label{display:block;font-size:.85rem;font-weight:700;margin:14px 0 7px}
.ll-entry{display:block;width:100%;resize:vertical;min-height:100px;border:2px solid #9ebae5;border-radius:10px;padding:13px 15px;color:#182b46;background:white;line-height:1.6;direction:auto;font-size:1.06rem!important}
.ll-entry:focus{border-color:var(--ll-blue);outline:3px solid #cfe0ff;outline-offset:1px}
.ll-entry:disabled,.ll-entry:read-only{background:#f1f4f9;color:#52637e}
.ll-feedback{font-size:.83rem;color:#364d6e;margin:9px 0 5px!important;min-height:26px}
.ll-next-hint{font-size:.84rem;color:#17498f;font-weight:650;margin:4px 0 10px!important;overflow-wrap:anywhere}
.ll-progress{height:8px;background:#e6edf8;border-radius:100px;overflow:hidden;margin:14px 0 17px}
.ll-progress>span{height:100%;display:block;background:#0053e2;min-width:0;width:0}
.ll-key-section{margin-top:23px;padding-top:20px;border-top:1px solid var(--ll-line)}
.ll-key-top{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.ll-key-top h3{font-size:1rem;margin-right:auto}
.ll-key-top select{padding:8px;border:1px solid #bac9dc;border-radius:7px;background:#fff;font-size:.78rem;min-height:38px}
.ll-inline-label{font-size:.78rem;color:var(--ll-muted)}
.ll-keyboard{padding:14px;background:#edf2f9;border:1px solid #d9e3ef;border-radius:12px;max-width:720px;margin-inline:auto}
.ll-key-row{display:flex;justify-content:center;gap:5px;margin-bottom:5px}
.ll-key-row:last-child{margin-bottom:0}
.ll-key{position:relative;flex:1;min-width:0;max-width:62px;min-height:45px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #b8c8dd;border-bottom-width:3px;border-radius:6px;background:white;color:#183353;font-size:1rem;font-weight:650;padding:4px 1px;text-transform:none}
.ll-key-count{font-size:.56rem;font-weight:550;color:#4a617d;line-height:1.1;min-height:10px}
.ll-key-label{line-height:1.35}
.ll-lane-L5,.ll-lane-R5{background:#f7ecfa;border-color:#d4bada}
.ll-lane-L4,.ll-lane-R4{background:#eef2ff;border-color:#becbee}
.ll-lane-L3,.ll-lane-R3{background:#e6f6fb;border-color:#acd2dc}
.ll-lane-L2,.ll-lane-R2{background:#edf8ed;border-color:#b5d7b4}
.ll-home-key:after{content:"";display:block;width:9px;height:2px;position:absolute;bottom:4px;background:#3d536e}
.ll-key-next{background:#0053e2!important;border-color:#003faa!important;color:white!important;box-shadow:0 0 0 2px #8db7fa;z-index:1}
.ll-key-next .ll-key-count{color:white}
.ll-key-next:after{background:white}
.ll-key-heat{background:rgba(0,83,226,calc(var(--ll-intensity)*.14 + .03));border-color:#bdcde5}
.ll-space{max-width:290px;font-size:.76rem;min-height:31px;background:white}
.ll-keyboard[role=group] .ll-key{min-height:49px}
.ll-keyboard[role=group] .ll-key-row{gap:2px}
.ll-keyboard[role=group] .ll-space{min-height:44px}
.ll-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--ll-line);border-radius:8px;margin:10px 0;overscroll-behavior:contain}
.ll-table-wrap table{border-collapse:collapse;width:100%;font-size:.82rem;margin:0}
.ll-table-wrap th,.ll-table-wrap td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ll-line);vertical-align:top;overflow-wrap:anywhere}
.ll-table-wrap th{font-weight:720;background:#f1f5fb;color:#27405e}
.ll-table-wrap tr:last-child td{border-bottom:0}
.ll-table-wrap td:nth-child(n+3){font-variant-numeric:tabular-nums}
.ll-data-details{margin:12px 0}
.ll-data-details p{max-width:85ch}
.ll-output{padding:22px;border-radius:14px;background:#f8faff;border:1px solid var(--ll-line);margin-top:20px}
.ll-output h2{font-size:1.4rem;margin-bottom:10px}
.ll-output h3{font-size:1rem;margin-top:20px}
.ll-chart{padding:7px;background:white;border:1px solid var(--ll-line);border-radius:9px;margin:12px 0}
.ll-chart svg{display:block;width:100%;height:auto;min-height:110px}
.ll-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ll-stages button{text-align:left;font-size:.78rem;min-height:57px;line-height:1.4}
.ll-stages button[aria-pressed=true]{background:#e7efff;border:2px solid #0053e2;color:#003d9e}
.ll-word-board{height:226px;position:relative;overflow:hidden;border:1px solid #bdcfe9;border-radius:12px;margin-bottom:16px;padding:13px 16px;background:linear-gradient(180deg,#edf4ff 0%,#f9fbff 85%,#dbe8ff 85%,#dbe8ff 88%,#f9fbff 88%)}
.ll-word-progress{font-size:.81rem;color:#1c4279;font-weight:720}
.ll-word-target{position:absolute;left:50%;top:53px;transform:translate(-50%,var(--ll-travel,0px));max-width:calc(100% - 30px);padding:10px 18px;border-radius:12px;background:#fff;border:2px solid #0053e2;box-shadow:0 6px 0 rgba(0,83,226,.1);font-size:clamp(1.2rem,3.2vw,1.8rem);font-weight:750;line-height:1.4;overflow-wrap:anywhere;text-align:center;white-space:pre-wrap}
.ll-word-board>.ll-help{position:absolute;bottom:7px;left:16px;right:16px;margin:0!important;font-size:.72rem;color:#4d617b}
.ll-board-still .ll-word-target{top:66px}
.ll-rhythm{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:10px;background:#f1f6ff;border:1px solid #d1e1f9;margin-bottom:17px}
.ll-rhythm p{font-size:.84rem;color:#24446e}
.ll-rhythm-dot{width:22px;height:22px;border-radius:50%;background:#0053e2;flex-shrink:0;box-shadow:0 0 0 6px #dce8ff}
.ll-pulsing{animation:ll-beat var(--ll-beat,1000ms) ease-in-out infinite}
@keyframes ll-beat{0%,100%{transform:scale(.85)}50%{transform:scale(1.06)}}
.ll-reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.ll-editor-entry{margin-bottom:10px;min-height:210px}
.ll-editor-counts{font-size:.82rem;color:#435b7a;font-variant-numeric:tabular-nums}
.otk-language-lab>.ll-keyboard{margin-top:14px}
.ll-extra-keys{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.ll-extra-keys button{min-width:45px;min-height:45px;font-size:1.16rem}
@media(max-width:760px){.ll-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ll-metric:nth-child(3){border-right:0}.ll-metric:nth-child(-n+3){border-bottom:1px solid var(--ll-line)}.ll-metric:last-child{border-right:0}.ll-options{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-masthead{gap:12px}.ll-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ll-masthead{display:block;margin-bottom:18px}.ll-local-pill{display:inline-block;margin-top:12px}.ll-masthead h2{font-size:1.65rem}.ll-lead{font-size:.91rem}.ll-play,.ll-output{padding:13px;border-radius:12px}.ll-setup-body{padding:13px}.ll-setup>summary{padding:13px}.ll-options{grid-template-columns:1fr 1fr;gap:10px}.ll-field select{font-size:.86rem;padding:10px 8px}.ll-session-top{align-items:flex-start;gap:8px}.ll-session-top h3{font-size:.96rem}.ll-metric{padding:10px 6px}.ll-metric strong{font-size:1.4rem}.ll-metric span{font-size:.63rem}.ll-trail{padding:12px;font-size:1.38rem;line-height:1.9;max-height:235px}.ll-keyboard{padding:7px}.ll-key-row{gap:3px;margin-bottom:3px}.ll-key{min-height:35px;font-size:.82rem;border-radius:4px;border-bottom-width:2px}.ll-key-count{font-size:.49rem}.ll-keyboard[role=group] .ll-key{min-height:44px}.ll-key-top{gap:7px}.ll-key-top h3{flex-basis:100%;margin-bottom:3px}.ll-key-top select{flex:1;min-width:0}.ll-actions{gap:7px}.ll-primary,.ll-secondary{padding:10px 12px;font-size:.8rem}.ll-table-wrap th,.ll-table-wrap td{padding:8px;font-size:.76rem}.ll-stages{grid-template-columns:1fr}.ll-word-board{height:240px;padding:10px}.ll-word-progress{font-size:.73rem}.ll-word-board>.ll-help{left:10px;right:10px}.ll-next-hint{font-size:.8rem}.ll-entry{font-size:1rem!important;padding:12px}}
@media(prefers-reduced-motion:reduce){.otk-language-lab *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.ll-setup,.ll-actions,.ll-entry,.ll-keyboard,.ll-input-label,.ll-status,.ll-full-passage,.ll-word-board,.ll-rhythm{display:none!important}.ll-play,.ll-output{border:0;padding:0;break-inside:auto}.ll-masthead h2{font-size:20pt}.ll-key-section{display:none}.ll-trail{max-height:none;overflow:visible}.ll-table-wrap{overflow:visible}.ll-output{display:block!important}.ll-output details{display:block}.ll-output details>summary{display:none}.ll-output details>*:not(summary){display:block}.ll-chart{break-inside:avoid}.otk-language-lab{font-size:10pt}}

/* Ready practice controls: optional settings never stand between a learner and the target. */
.ll-quick-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:0 0 14px}.ll-quick-controls .ll-field{flex:1 1 180px;max-width:320px}.ll-quick-controls select{min-height:44px}.ll-flow-control{display:inline-flex;align-items:center;gap:8px;font-size:.83rem;font-weight:650;min-height:44px;padding:8px 4px}.ll-flow-control input{width:20px;height:20px;accent-color:var(--ll-blue)}.ll-play:has(.ll-word-board:not([hidden])) .ll-entry{min-height:68px}.ll-play:has(.ll-word-board:not([hidden])) .ll-trail{min-height:72px;max-height:150px}.ll-quick-controls:empty{display:none}@media(max-width:480px){.ll-quick-controls{gap:10px}.ll-quick-controls .ll-field{flex:1 1 125px;max-width:none}.ll-flow-control{flex-basis:100%}.ll-word-board{height:215px}}@media print{.ll-quick-controls,.ll-flow-control{display:none!important}}

.ll-result-example{border:1px solid var(--ll-line);border-radius:11px;background:#f5f8fd;padding:11px 15px;margin:12px 0}.ll-result-example>summary{font-size:.85rem;font-weight:700;cursor:pointer;min-height:30px;padding:3px 0}.ll-example-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.ll-example-metrics>div{background:white;border:1px solid var(--ll-line);border-radius:8px;padding:11px}.ll-example-metrics strong{display:block;font-size:1.16rem}.ll-example-metrics span{display:block;font-size:.75rem;color:var(--ll-muted)}@media(max-width:480px){.ll-example-metrics{gap:6px}.ll-example-metrics>div{padding:8px}.ll-example-metrics strong{font-size:1rem}}@media print{.ll-result-example{display:none!important}}

/* Keep the task ahead of configuration and reporting, especially on phones. */
.ll-play>.ll-metrics{margin:20px 0 12px}.ll-form>.ll-play{margin-top:0;margin-bottom:16px}.ll-form>.ll-play+.ll-setup{margin-top:12px}.ll-masthead{margin-bottom:16px}.ll-masthead h2{margin-bottom:8px}.ll-board-still.ll-word-board{height:130px}.ll-board-still .ll-word-target{top:48px}.ll-play>.ll-key-section{margin-top:17px;padding-top:15px}@media(max-width:480px){.ll-masthead{margin-bottom:12px}.ll-masthead h2{font-size:1.4rem}.ll-masthead .ll-local-pill{display:none}.ll-lead{font-size:.85rem}.ll-play>.ll-metrics .ll-metric{padding:8px 6px}.ll-board-still.ll-word-board{height:125px}.ll-form>.ll-play{padding:12px}}
/* 1.14.2: the keyboard case, keycaps and buttons share the typing games' look. Button edges are drawn by ::before because public buttons are borderless. */
.ll-keyboard{padding:14px;border:0;border-radius:18px;background:linear-gradient(180deg,#f4f7fb 0%,#e9eef5 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px #d6dee9,0 22px 44px -26px rgba(20,38,66,.45)}
.ll-key-row{gap:6px;margin-bottom:6px}
.ll-key,.ll-lane-L5,.ll-lane-R5,.ll-lane-L4,.ll-lane-R4,.ll-lane-L3,.ll-lane-R3,.ll-lane-L2,.ll-lane-R2,.ll-space{border:0;border-radius:9px;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);color:#2b3b56;font-weight:550;transition:background .12s,transform .08s,color .12s}
.ll-key::before,.ll-extra-keys button::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 1px rgba(20,38,66,.1),0 1px 0 1px rgba(20,38,66,.05),0 2px 3px rgba(20,38,66,.07),inset 0 -1.5px 0 rgba(20,38,66,.04);pointer-events:none}
.ll-key-count{color:#8a99ae;font-weight:500}
.ll-space{color:#7c8ca4;font-size:.76rem}
.ll-home-key:after{width:24%;height:2px;border-radius:2px;bottom:5px;background:#a3b3c9}
.ll-key-heat{background:linear-gradient(180deg,rgba(0,83,226,calc(var(--ll-intensity)*.14 + .03)),rgba(0,83,226,calc(var(--ll-intensity)*.18 + .05)))}
.ll-key-next{background:linear-gradient(180deg,#2c76ff 0%,#0053e2 100%)!important;color:#fff!important;transform:translateY(-1px)}
.ll-key-next::before{box-shadow:0 0 0 1px #0047c4,0 6px 14px -4px rgba(0,83,226,.55),inset 0 1px 0 rgba(255,255,255,.25)}
.ll-key-next .ll-key-count{color:rgba(255,255,255,.8)}
.ll-key-next:after{background:rgba(255,255,255,.85)}
button.ll-key{cursor:pointer}
button.ll-key:hover{background:linear-gradient(180deg,#f6f9ff 0%,#e9f1ff 100%);color:#003fac}
button.ll-key:active{transform:translateY(1px);background:#eef2f8}
.otk-language-lab .ll-primary,.otk-language-lab .ll-secondary{border:0;border-radius:9px;min-height:44px;padding:11px 16px;font-weight:650;font-size:.82rem;cursor:pointer;transition:background .15s,color .15s}
.otk-language-lab .ll-secondary{background:#eef2f8;color:#142642}
.otk-language-lab .ll-secondary:hover:not(:disabled){background:#e3e9f3;border-color:transparent}
.otk-language-lab .ll-primary{background:#0053e2;color:#fff}
.otk-language-lab .ll-primary:hover:not(:disabled){background:#003fac}
.ll-extra-keys{gap:8px}
.otk-language-lab .ll-extra-keys button{position:relative;min-width:44px;padding:8px 12px;font-size:1.05rem;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);color:#2b3b56;font-weight:550}
.ll-extra-keys button:hover:not(:disabled){background:linear-gradient(180deg,#f6f9ff 0%,#e9f1ff 100%);color:#003fac}
@media(max-width:480px){.ll-keyboard{padding:8px;border-radius:14px}.ll-key-row{gap:4px;margin-bottom:4px}.ll-key{border-radius:6px}}

/* dark-mode:start — generated by scripts/dark-mode.py from build/language-lab-assets/typing.css; do not edit by hand */
@media screen{
 html[data-theme="dark"] .otk-language-lab:not([data-otk-paper],[data-otk-paper] *){--ll-ink:#fafafa;--ll-muted:#aeaeae;--ll-line:#353535;--ll-pale:#191919;color:#fafafa}
 html[data-theme="dark"] .otk-language-lab :focus-visible:not([data-otk-paper],[data-otk-paper] *){outline:3px solid #0053e2}
 html[data-theme="dark"] .ll-eyebrow:not([data-otk-paper],[data-otk-paper] *){color:#80abf7}
 html[data-theme="dark"] .ll-lead:not([data-otk-paper],[data-otk-paper] *){color:#aeaeae}
 html[data-theme="dark"] .ll-local-pill:not([data-otk-paper],[data-otk-paper] *){background:#202d25;color:#79c99a}
 html[data-theme="dark"] .ll-review-note:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-source-note:not([data-otk-paper],[data-otk-paper] *){border:1px solid #4b3d1e;border-left:4px solid #a55e00;background:#211d15}
 html[data-theme="dark"] .ll-source-note:not([data-otk-paper],[data-otk-paper] *){border-color:#2f4159;border-left-color:#0053e2;background:#191919}
 html[data-theme="dark"] .ll-setup:not([data-otk-paper],[data-otk-paper] *){border:1px solid #696969;background:#212121}
 html[data-theme="dark"] .ll-setup>summary:not([data-otk-paper],[data-otk-paper] *){background:#191919}
 html[data-theme="dark"] .ll-field textarea:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-field select:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-field input:not([type=checkbox]):not([data-otk-paper],[data-otk-paper] *){border:1px solid #484848;color:#fafafa;background:#212121}
 html[data-theme="dark"] .ll-help:not([data-otk-paper],[data-otk-paper] *){color:#aeaeae}
 html[data-theme="dark"] .ll-primary:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-secondary:not([data-otk-paper],[data-otk-paper] *){border:1px solid transparent}
 html[data-theme="dark"] .ll-primary:not([data-otk-paper],[data-otk-paper] *){background:#0053e2;border-color:#0053e2;color:#fff}
 html[data-theme="dark"] .ll-primary:hover:not(:disabled):not([data-otk-paper],[data-otk-paper] *){background:#0044b9;border-color:#0044b9}
 html[data-theme="dark"] .ll-secondary:not([data-otk-paper],[data-otk-paper] *){background:#212121;border-color:#454545;color:#fafafa}
 html[data-theme="dark"] .ll-secondary:hover:not(:disabled):not([data-otk-paper],[data-otk-paper] *){background:#292929;border-color:#495d77}
 html[data-theme="dark"] .ll-status:not([data-otk-paper],[data-otk-paper] *){color:#bcbcbc}
 html[data-theme="dark"] .ll-error:not([data-otk-paper],[data-otk-paper] *){background:#322527;border:1px solid #603d47;border-left:4px solid #b52041;color:#feacb2}
 html[data-theme="dark"] .ll-play:not([data-otk-paper],[data-otk-paper] *){border:1px solid #696969;background:#212121}
 html[data-theme="dark"] .ll-phase:not([data-otk-paper],[data-otk-paper] *){background:#2b2b2b;color:#9dc1f9}
 html[data-theme="dark"] .ll-metrics:not([data-otk-paper],[data-otk-paper] *){border:1px solid #696969;background:#1d1d1d}
 html[data-theme="dark"] .ll-metric:not([data-otk-paper],[data-otk-paper] *){border-right:1px solid #696969}
 html[data-theme="dark"] .ll-metric:last-child:not([data-otk-paper],[data-otk-paper] *){border:0}
 html[data-theme="dark"] .ll-metric span:not([data-otk-paper],[data-otk-paper] *){color:#aeaeae}
 html[data-theme="dark"] .ll-trail:not([data-otk-paper],[data-otk-paper] *){border:1px solid #3e3e3e;background:#1d1d1d}
 html[data-theme="dark"] .ll-character:not([data-otk-paper],[data-otk-paper] *){color:#999999}
 html[data-theme="dark"] .ll-character-correct:not([data-otk-paper],[data-otk-paper] *){background:#1d3127;color:#87d3a4}
 html[data-theme="dark"] .ll-character-error:not([data-otk-paper],[data-otk-paper] *){background:#3d262c;color:#ff9aa2;text-decoration-color:#f97485}
 html[data-theme="dark"] .ll-character-next:not([data-otk-paper],[data-otk-paper] *){box-shadow:inset 0 -3px 0 #0053e2;color:#aecbfe;background:#2c2c2c}
 html[data-theme="dark"] .ll-full-passage summary:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-data-details summary:not([data-otk-paper],[data-otk-paper] *){color:#c7c7c7}
 html[data-theme="dark"] .ll-plain-passage:not([data-otk-paper],[data-otk-paper] *){background:#191919;border:1px solid #696969;color:#e0e0e0}
 html[data-theme="dark"] .ll-entry:not([data-otk-paper],[data-otk-paper] *){border:2px solid #3d4e69;color:#f0f0f0;background:#212121}
 html[data-theme="dark"] .ll-entry:focus:not([data-otk-paper],[data-otk-paper] *){border-color:#0053e2;outline:3px solid #2f3d58}
 html[data-theme="dark"] .ll-entry:disabled:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-entry:read-only:not([data-otk-paper],[data-otk-paper] *){background:#292929;color:#adadad}
 html[data-theme="dark"] .ll-feedback:not([data-otk-paper],[data-otk-paper] *){color:#c6c6c6}
 html[data-theme="dark"] .ll-next-hint:not([data-otk-paper],[data-otk-paper] *){color:#c7c7c7}
 html[data-theme="dark"] .ll-progress:not([data-otk-paper],[data-otk-paper] *){background:#2e2e2e}
 html[data-theme="dark"] .ll-progress>span:not([data-otk-paper],[data-otk-paper] *){background:#0053e2}
 html[data-theme="dark"] .ll-key-section:not([data-otk-paper],[data-otk-paper] *){border-top:1px solid #696969}
 html[data-theme="dark"] .ll-key-top select:not([data-otk-paper],[data-otk-paper] *){border:1px solid #474747;background:#212121}
 html[data-theme="dark"] .ll-inline-label:not([data-otk-paper],[data-otk-paper] *){color:#aeaeae}
 html[data-theme="dark"] .ll-keyboard:not([data-otk-paper],[data-otk-paper] *){background:#292929;border:1px solid #3c3c3c}
 html[data-theme="dark"] .ll-key:not([data-otk-paper],[data-otk-paper] *){border:1px solid #474747;background:#212121;color:#e6e6e6}
 html[data-theme="dark"] .ll-key-count:not([data-otk-paper],[data-otk-paper] *){color:#b0b0b0}
 html[data-theme="dark"] .ll-lane-L5:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R5:not([data-otk-paper],[data-otk-paper] *){background:#2f2532;border-color:#543f59}
 html[data-theme="dark"] .ll-lane-L4:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R4:not([data-otk-paper],[data-otk-paper] *){background:#292929;border-color:#3a4460}
 html[data-theme="dark"] .ll-lane-L3:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R3:not([data-otk-paper],[data-otk-paper] *){background:#1d2c30;border-color:#224d57}
 html[data-theme="dark"] .ll-lane-L2:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R2:not([data-otk-paper],[data-otk-paper] *){background:#222c23;border-color:#344c34}
 html[data-theme="dark"] .ll-home-key:not([data-otk-paper],[data-otk-paper] *):after{background:#3d536e}
 html[data-theme="dark"] .ll-key-next:not([data-otk-paper],[data-otk-paper] *){background:#0053e2 !important;border-color:#003faa !important;color:white !important;box-shadow:0 0 0 2px #475b7d}
 html[data-theme="dark"] .ll-key-next .ll-key-count:not([data-otk-paper],[data-otk-paper] *){color:white}
 html[data-theme="dark"] .ll-key-next:not([data-otk-paper],[data-otk-paper] *):after{background:#212121}
 html[data-theme="dark"] .ll-key-heat:not([data-otk-paper],[data-otk-paper] *){background:rgba(0,83,226,calc(var(--ll-intensity)*.14 + .03));border-color:#36465e}
 html[data-theme="dark"] .ll-space:not([data-otk-paper],[data-otk-paper] *){background:#212121}
 html[data-theme="dark"] .ll-table-wrap:not([data-otk-paper],[data-otk-paper] *){border:1px solid #696969}
 html[data-theme="dark"] .ll-table-wrap th:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-table-wrap td:not([data-otk-paper],[data-otk-paper] *){border-bottom:1px solid #696969}
 html[data-theme="dark"] .ll-table-wrap th:not([data-otk-paper],[data-otk-paper] *){background:#292929;color:#d6d6d6}
 html[data-theme="dark"] .ll-table-wrap tr:last-child td:not([data-otk-paper],[data-otk-paper] *){border-bottom:0}
 html[data-theme="dark"] .ll-output:not([data-otk-paper],[data-otk-paper] *){background:#1d1d1d;border:1px solid #696969}
 html[data-theme="dark"] .ll-chart:not([data-otk-paper],[data-otk-paper] *){background:#212121;border:1px solid #696969}
 html[data-theme="dark"] .ll-stages button[aria-pressed=true]:not([data-otk-paper],[data-otk-paper] *){background:#2c2c2c;border:2px solid #0053e2;color:#b2cefd}
 html[data-theme="dark"] .ll-word-board:not([data-otk-paper],[data-otk-paper] *){border:1px solid #34455f;background:linear-gradient(180deg,#292929 0%,#1d1d1d 85%,#323232 85%,#323232 88%,#1d1d1d 88%)}
 html[data-theme="dark"] .ll-word-progress:not([data-otk-paper],[data-otk-paper] *){color:#d1d1d1}
 html[data-theme="dark"] .ll-word-target:not([data-otk-paper],[data-otk-paper] *){background:#212121;border:2px solid #0053e2;box-shadow:0 6px 0 rgba(0,83,226,.1)}
 html[data-theme="dark"] .ll-word-board>.ll-help:not([data-otk-paper],[data-otk-paper] *){color:#b0b0b0}
 html[data-theme="dark"] .ll-rhythm:not([data-otk-paper],[data-otk-paper] *){background:#191919;border:1px solid #2f3e55}
 html[data-theme="dark"] .ll-rhythm p:not([data-otk-paper],[data-otk-paper] *){color:#d0d0d0}
 html[data-theme="dark"] .ll-rhythm-dot:not([data-otk-paper],[data-otk-paper] *){background:#0053e2;box-shadow:0 0 0 6px #323232}
 html[data-theme="dark"] .ll-editor-counts:not([data-otk-paper],[data-otk-paper] *){color:#b7b7b7}
 @media(max-width:760px){
  html[data-theme="dark"] .ll-metric:nth-child(3):not([data-otk-paper],[data-otk-paper] *){border-right:0}
  html[data-theme="dark"] .ll-metric:nth-child(-n+3):not([data-otk-paper],[data-otk-paper] *){border-bottom:1px solid #696969}
  html[data-theme="dark"] .ll-metric:last-child:not([data-otk-paper],[data-otk-paper] *){border-right:0}
 }
 html[data-theme="dark"] .ll-result-example:not([data-otk-paper],[data-otk-paper] *){border:1px solid #696969;background:#191919}
 html[data-theme="dark"] .ll-example-metrics>div:not([data-otk-paper],[data-otk-paper] *){background:#212121;border:1px solid #696969}
 html[data-theme="dark"] .ll-example-metrics span:not([data-otk-paper],[data-otk-paper] *){color:#aeaeae}
 html[data-theme="dark"] .ll-keyboard:not([data-otk-paper],[data-otk-paper] *){border:0;background:linear-gradient(180deg,#191919 0%,#2d2d2d 100%);box-shadow:inset 0 1px 0 rgba(33,33,33,0.9),0 0 0 1px #3a3a3a,0 22px 44px -26px rgba(20,38,66,.45)}
 html[data-theme="dark"] .ll-key:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-L5:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R5:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-L4:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R4:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-L3:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R3:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-L2:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-lane-R2:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .ll-space:not([data-otk-paper],[data-otk-paper] *){border:0;background:linear-gradient(180deg,#212121 0%,#1d1d1d 100%);color:#dbdbdb}
 html[data-theme="dark"] .ll-key:not([data-otk-paper],[data-otk-paper] *)::before,
html[data-theme="dark"] .ll-extra-keys button:not([data-otk-paper],[data-otk-paper] *)::before{box-shadow:0 0 0 1px rgba(20,38,66,.1),0 1px 0 1px rgba(20,38,66,.05),0 2px 3px rgba(20,38,66,.07),inset 0 -1.5px 0 rgba(20,38,66,.04)}
 html[data-theme="dark"] .ll-key-count:not([data-otk-paper],[data-otk-paper] *){color:#8a99ae}
 html[data-theme="dark"] .ll-space:not([data-otk-paper],[data-otk-paper] *){color:#7c8ca4}
 html[data-theme="dark"] .ll-home-key:not([data-otk-paper],[data-otk-paper] *):after{background:#4f6077}
 html[data-theme="dark"] .ll-key-heat:not([data-otk-paper],[data-otk-paper] *){background:linear-gradient(180deg,rgba(0,83,226,calc(var(--ll-intensity)*.14 + .03)),rgba(0,83,226,calc(var(--ll-intensity)*.18 + .05)))}
 html[data-theme="dark"] .ll-key-next:not([data-otk-paper],[data-otk-paper] *){background:linear-gradient(180deg,#506486 0%,#0053e2 100%) !important;color:#fff !important}
 html[data-theme="dark"] .ll-key-next:not([data-otk-paper],[data-otk-paper] *)::before{box-shadow:0 0 0 1px #0047c4,0 6px 14px -4px rgba(0,83,226,.55),inset 0 1px 0 rgba(33,33,33,0.25)}
 html[data-theme="dark"] .ll-key-next .ll-key-count:not([data-otk-paper],[data-otk-paper] *){color:rgba(255,255,255,.8)}
 html[data-theme="dark"] .ll-key-next:not([data-otk-paper],[data-otk-paper] *):after{background:rgba(33,33,33,0.85)}
 html[data-theme="dark"] button.ll-key:hover:not([data-otk-paper],[data-otk-paper] *){background:linear-gradient(180deg,#1d1d1d 0%,#292929 100%);color:#abc8fb}
 html[data-theme="dark"] button.ll-key:active:not([data-otk-paper],[data-otk-paper] *){background:#292929}
 html[data-theme="dark"] .otk-language-lab .ll-primary:not([data-otk-paper],[data-otk-paper] *),
html[data-theme="dark"] .otk-language-lab .ll-secondary:not([data-otk-paper],[data-otk-paper] *){border:0}
 html[data-theme="dark"] .otk-language-lab .ll-secondary:not([data-otk-paper],[data-otk-paper] *){background:#292929;color:#f6f6f6}
 html[data-theme="dark"] .otk-language-lab .ll-secondary:hover:not(:disabled):not([data-otk-paper],[data-otk-paper] *){background:#313131;border-color:transparent}
 html[data-theme="dark"] .otk-language-lab .ll-primary:not([data-otk-paper],[data-otk-paper] *){background:#0053e2;color:#fff}
 html[data-theme="dark"] .otk-language-lab .ll-primary:hover:not(:disabled):not([data-otk-paper],[data-otk-paper] *){background:#003fac}
 html[data-theme="dark"] .otk-language-lab .ll-extra-keys button:not([data-otk-paper],[data-otk-paper] *){background:linear-gradient(180deg,#212121 0%,#1d1d1d 100%);color:#dbdbdb}
 html[data-theme="dark"] .ll-extra-keys button:hover:not(:disabled):not([data-otk-paper],[data-otk-paper] *){background:linear-gradient(180deg,#1d1d1d 0%,#292929 100%);color:#abc8fb}
}
/* dark-mode:end */
