:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #eceef2;--ink: #16191f;--ink-2: #4a505c;--muted: #646b76;--untyped: #68707b;--rule: #e0e3e9;--field: #858b97;--axis: #c3c6cf;--accent: #0d6b60;--accent-ink: #ffffff;--accent-soft: #e2f1ee;--error: #c4372f;--extra: #8c2a24;--good: #0a7a32;--good-soft: #e3f3e8;--warn-ink: #8f5b00;--warn-soft: #fbf0d9;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--critical: #d03b3b;--g-bg: #ffffff;--g-ink: #1f1f1f;--g-line: #747775;--g-hover: #f1f3f4;--shadow: 0 1px 2px rgba(22,25,31,.04),0 4px 14px rgba(22,25,31,.04);--f-ui: "Archivo",system-ui,-apple-system,"Segoe UI","Noto Sans Bengali","Noto Sans Devanagari",sans-serif;--f-mono: "JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,"Noto Sans Bengali","Noto Sans Devanagari",monospace;--f-indic: "Noto Sans Bengali","Noto Sans Devanagari","Archivo",system-ui,sans-serif;--words-size: clamp(20px,2.6vw,29px)}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg: #121418;--surface: #191c22;--surface-2: #242830;--ink: #e8eaee;--ink-2: #b4b9c4;--muted: #8a909c;--untyped: #7b818d;--rule: #2a2e37;--field: #6b717d;--axis: #3a3f49;--accent: #55c6b3;--accent-ink: #0b1412;--accent-soft: #15302c;--error: #f0716a;--extra: #b8524b;--good: #52c77d;--good-soft: #163021;--warn-ink: #e3ab45;--warn-soft: #34290f;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--shadow: none;color-scheme: dark;--g-bg: #131314;--g-ink: #e3e3e3;--g-line: #8e918f;--g-hover: #232325}}:root[data-theme="dark"]{--bg: #121418;--surface: #191c22;--surface-2: #242830;--ink: #e8eaee;--ink-2: #b4b9c4;--muted: #8a909c;--untyped: #7b818d;--rule: #2a2e37;--field: #6b717d;--axis: #3a3f49;--accent: #55c6b3;--accent-ink: #0b1412;--accent-soft: #15302c;--error: #f0716a;--extra: #b8524b;--good: #52c77d;--good-soft: #163021;--warn-ink: #e3ab45;--warn-soft: #34290f;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--shadow: none;color-scheme: dark;--g-bg: #131314;--g-ink: #e3e3e3;--g-line: #8e918f;--g-hover: #232325}:root[data-palette="ocean"]{--accent: #1f5fa8;--accent-soft: #e2ecf8}:root[data-palette="forest"]{--accent: #2f6b2a;--accent-soft: #e5f0e1}:root[data-palette="plum"]{--accent: #7a3fb8;--accent-soft: #efe6f8}:root[data-palette="sunset"]{--accent: #b4521d;--accent-soft: #f8e9df}:root[data-palette="mono"]{--accent: #3b4250;--accent-soft: #e8eaee}:root[data-palette="desert"]{--accent: #8a5a00;--accent-soft: #f6ecd9}:root[data-palette="rose"]{--accent: #a8325e;--accent-soft: #f8e4ec}:root[data-palette="midnight"]{--accent: #3a3fa0;--accent-soft: #e6e7f7}:root[data-palette="oasis"]{--accent: #0e6e7e;--accent-soft: #dff1f3}@media (prefers-color-scheme: dark){:root[data-palette="desert"]:not([data-theme="light"]){--accent: #e0b45c;--accent-soft: #33270f;--accent-ink: #1d1406}:root[data-palette="rose"]:not([data-theme="light"]){--accent: #f08cb0;--accent-soft: #3a1826;--accent-ink: #1e0b13}:root[data-palette="midnight"]:not([data-theme="light"]){--accent: #9aa1f0;--accent-soft: #1c1e3d;--accent-ink: #0e0f22}:root[data-palette="oasis"]:not([data-theme="light"]){--accent: #5fc8d6;--accent-soft: #12303a;--accent-ink: #081a1f}}:root[data-palette="desert"][data-theme="dark"]{--accent: #e0b45c;--accent-soft: #33270f;--accent-ink: #1d1406}:root[data-palette="rose"][data-theme="dark"]{--accent: #f08cb0;--accent-soft: #3a1826;--accent-ink: #1e0b13}:root[data-palette="midnight"][data-theme="dark"]{--accent: #9aa1f0;--accent-soft: #1c1e3d;--accent-ink: #0e0f22}:root[data-palette="oasis"][data-theme="dark"]{--accent: #5fc8d6;--accent-soft: #12303a;--accent-ink: #081a1f}@media (prefers-color-scheme: dark){:root[data-palette="ocean"]:not([data-theme="light"]){--accent: #6aa7ec;--accent-soft: #15253a;--accent-ink: #0b1220}:root[data-palette="forest"]:not([data-theme="light"]){--accent: #7cc46e;--accent-soft: #18291a;--accent-ink: #0d160c}:root[data-palette="plum"]:not([data-theme="light"]){--accent: #b993ec;--accent-soft: #261b36;--accent-ink: #160d22}:root[data-palette="sunset"]:not([data-theme="light"]){--accent: #f09a62;--accent-soft: #33200f;--accent-ink: #1d1006}:root[data-palette="mono"]:not([data-theme="light"]){--accent: #c9ced8;--accent-soft: #262a31;--accent-ink: #121418}}:root[data-palette="ocean"][data-theme="dark"]{--accent: #6aa7ec;--accent-soft: #15253a;--accent-ink: #0b1220}:root[data-palette="forest"][data-theme="dark"]{--accent: #7cc46e;--accent-soft: #18291a;--accent-ink: #0d160c}:root[data-palette="plum"][data-theme="dark"]{--accent: #b993ec;--accent-soft: #261b36;--accent-ink: #160d22}:root[data-palette="sunset"][data-theme="dark"]{--accent: #f09a62;--accent-soft: #33200f;--accent-ink: #1d1006}:root[data-palette="mono"][data-theme="dark"]{--accent: #c9ced8;--accent-soft: #262a31;--accent-ink: #121418}:root[data-font="system"]{--f-words: ui-monospace,"SF Mono",Menlo,Consolas,monospace}:root[data-font="sans"]{--f-words: var(--f-ui)}:root[data-font="serif"]{--f-words: Georgia,"Times New Roman",serif}:root[data-size="s"]{--words-size: clamp(17px,2vw,23px)}:root[data-size="l"]{--words-size: clamp(23px,3.2vw,36px)}:root[data-size="xl"]{--words-size: clamp(27px,4vw,46px)}*{box-sizing: border-box}[hidden]{display: none !important}body{margin: 0;background: var(--bg);color: var(--ink);font-family: var(--f-ui);font-size: 15px;line-height: 1.5;-webkit-font-smoothing: antialiased;padding-left: max(16px,env(safe-area-inset-left,0px));padding-right: max(16px,env(safe-area-inset-right,0px))}#app{max-width: 1000px;margin: 0 auto;min-height: 100vh;min-height: 100dvh;padding-block: 20px 28px;display: grid;grid-template-columns: minmax(0,1fr);grid-template-rows: auto 1fr auto;gap: 24px}.stage{display: grid;min-width: 0}.stage:focus{outline: none}button{font: inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.key:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.key:focus{outline: none}.top{display: grid;grid-template-columns: auto minmax(0,1fr) auto auto;align-items: center;gap: 12px 20px;transition: opacity .25s ease}.brand{display: flex;align-items: center;gap: 10px;font-weight: 700;font-size: 17px;letter-spacing: -.01em;white-space: nowrap;color: var(--ink);text-decoration: none}.tabs{display: flex;gap: 2px;overflow-x: auto;scrollbar-width: none;min-width: 0}.tabs::-webkit-scrollbar{display: none}.tabs a{font: 500 13.5px/1 var(--f-ui);color: var(--ink-2);text-decoration: none;padding: 9px 11px;border-radius: 8px;white-space: nowrap}.tabs a:hover{color: var(--ink);background: var(--surface)}.tabs a[aria-current]{color: var(--ink);background: var(--surface);box-shadow: inset 0 0 0 1px var(--rule)}.tabs a:focus-visible,.stat-chip:focus-visible,.brand:focus-visible,a.btn:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.me-bar{display: flex;align-items: center;gap: 6px;justify-self: end}.stat-chip{display: inline-flex;align-items: center;gap: 6px;font: 500 12.5px/1 var(--f-mono);color: var(--ink-2);text-decoration: none;padding: 7px 9px;border-radius: 8px;border: 1px solid var(--rule);background: var(--surface);white-space: nowrap}.stat-chip:hover{border-color: var(--axis);color: var(--ink)}.stat-chip b{color: var(--ink);font-weight: 600}.stat-chip.hot svg{color: var(--s2)}.stat-chip.who{font: 600 13px/1 var(--f-ui);color: var(--ink)}.pro{font: 600 10px/1 var(--f-mono);text-transform: uppercase;letter-spacing: .06em;color: var(--accent-ink);background: var(--accent);padding: 3px 5px;border-radius: 4px}.ring circle{fill: none;stroke-width: 2.5}.ring-bg{stroke: var(--rule)}.ring-fg{stroke: var(--accent);stroke-linecap: round}.ring.done .ring-fg{stroke: var(--good)}.brand .mark{flex: none;width: 11px;height: 20px;border-radius: 3px;background: var(--accent)}.brand .tag{font: 500 10px/1 var(--f-mono);text-transform: uppercase;letter-spacing: .08em;color: var(--muted);border: 1px solid var(--rule);padding: 4px 6px;border-radius: 4px}.config{grid-column: 1 / -1;display: flex;flex-wrap: wrap;align-items: center;gap: 8px}.seg-group{display: inline-flex;gap: 2px;background: var(--surface);border: 1px solid var(--rule);border-radius: 9px;padding: 3px}.chip-btn{font: 500 12.5px/1 var(--f-mono);color: var(--ink-2);background: transparent;border: 0;border-radius: 6px;padding: 8px 11px;cursor: pointer;min-width: 36px;transition: background .15s,color .15s}.chip-btn:hover{color: var(--ink);background: var(--surface-2)}.chip-btn[aria-pressed="true"]{background: var(--accent);color: var(--accent-ink)}.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.select{position: relative;display: inline-flex;align-items: center;gap: 8px}.select select{appearance: none;-webkit-appearance: none;font: 500 12.5px/1.2 var(--f-mono);color: var(--ink);background: var(--surface);border: 1px solid var(--field);border-radius: 9px;padding: 10px 32px 10px 12px;cursor: pointer;max-width: 100%}.select select:hover{border-color: var(--ink-2)}.select::after{content: "";position: absolute;right: 13px;top: 50%;width: 6px;height: 6px;border-right: 1.5px solid var(--ink-2);border-bottom: 1.5px solid var(--ink-2);transform: translateY(-70%) rotate(45deg);pointer-events: none}.select.small select{padding: 7px 28px 7px 10px;font-size: 12px}.select.small::after{right: 11px}.sel-label{font: 500 10.5px/1 var(--f-mono);text-transform: uppercase;letter-spacing: .07em;color: var(--muted)}.kb-controls{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px}.switch{position: relative;display: inline-flex;align-items: center;gap: 9px;font-size: 13px;color: var(--ink-2);cursor: pointer;user-select: none}.switch input{position: absolute;opacity: 0;width: 1px;height: 1px;margin: 0}.track{width: 32px;height: 18px;border-radius: 9px;background: var(--axis);position: relative;transition: background .15s;flex: none}.thumb{position: absolute;top: 2px;left: 2px;width: 14px;height: 14px;border-radius: 50%;background: var(--surface);box-shadow: 0 1px 2px rgba(0,0,0,.25);transition: transform .15s}.switch input:checked + .track{background: var(--accent)}.switch input:checked + .track .thumb{transform: translateX(14px)}.switch input:focus-visible + .track{outline: 2px solid var(--accent);outline-offset: 2px}.test-view{display: grid;gap: 12px;align-content: center;padding-block: 2vh 12vh}.testbar{display: flex;flex-wrap: wrap;align-items: baseline;gap: 6px 16px;min-height: 30px}.counter{font: 600 24px/1 var(--f-mono);color: var(--accent);font-variant-numeric: tabular-nums}.live{font: 500 15px/1 var(--f-mono);color: var(--ink-2)}.drill-label{margin-left: auto;font: 500 11.5px/1.3 var(--f-mono);color: var(--accent);background: var(--accent-soft);padding: 5px 8px;border-radius: 5px;text-transform: uppercase;letter-spacing: .06em}.drill-label:empty{display: none}.progress{height: 3px;border-radius: 2px;background: var(--rule);overflow: hidden;margin-bottom: 6px}.progress i{display: block;height: 100%;background: var(--accent);transform-origin: left center;transform: scaleX(0)}.words-wrap{position: relative;cursor: text}.words{--lh: 1.65;position: relative;font-variant-ligatures: none;font-feature-settings: "liga" 0,"calt" 0;display: flex;flex-wrap: wrap;align-content: flex-start;column-gap: .62em;font-family: var(--f-words,var(--f-mono));font-weight: 400;font-size: var(--words-size);line-height: var(--lh);height: calc(var(--lh) * 3em);overflow: hidden;color: var(--untyped);user-select: none}.words[lang="bn"],.words[lang="hi"]{--lh: 2;font-family: var(--f-indic);font-size: calc(var(--words-size) * 1.1);column-gap: .5em}.ch.partial{color: var(--accent)}.word{white-space: nowrap}.word.wrong{text-decoration: underline;text-decoration-color: var(--error);text-decoration-thickness: 2px;text-underline-offset: .32em}.ch.ok{color: var(--ink)}.ch.bad{color: var(--error);text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: .32em}.ch.extra{color: var(--extra);text-decoration: underline dotted;text-decoration-thickness: 2px;text-underline-offset: .32em}.caret{position: absolute;left: 0;top: 0;width: 2px;height: 1.15em;margin-top: calc((var(--lh) - 1.15) * .5em);background: var(--accent);border-radius: 1px;transition: transform 75ms linear;pointer-events: none}.caret.idle{animation: blink 1.05s steps(1) infinite}.caret-block .caret{width: .62em;opacity: .4;border-radius: 2px}.caret-underline .caret{width: .62em;height: 2px;margin-top: calc((var(--lh) - 1.15) * .5em + 1.08em)}.caret-off .caret{visibility: hidden}.caret-jump .caret{transition: none}.caret.nope{animation: nope .25s ease}@keyframes nope{0%,100%{background: var(--accent)}30%{background: var(--error);transform-origin: center}}.words.blind .ch.bad,.words.blind .ch.extra{color: var(--ink);text-decoration: none}.words.blind .word.wrong{text-decoration: none}.words-wrap{min-width: 0}.words.tape{flex-wrap: nowrap;height: calc(var(--lh) * 1em);width: 100%;min-width: 0}.words.tape .word{flex: none}.gear{display: inline-grid;place-items: center;width: 34px;height: 34px;border-radius: 9px;color: var(--ink-2)}.gear:hover{background: var(--surface-2);color: var(--ink)}.settings-group .setting{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 8px 16px;padding: 10px 0;border-top: 1px solid var(--rule)}.settings-group .setting:first-of-type{border-top: 0}.settings-group .setting .note{margin: 2px 0 0;max-width: 46ch}@keyframes blink{50%{opacity: 0}}.focus-msg{position: absolute;inset: -8px;display: grid;place-items: center;border: 0;border-radius: 10px;cursor: pointer;background: color-mix(in oklab,var(--bg) 80%,transparent);backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(4px);color: var(--ink);font: 500 15px/1.4 var(--f-ui)}.kb-guide{--k: 42px;--g: 5px;--u: calc(var(--k) + var(--g));display: grid;gap: 10px;margin-top: 10px;padding: 14px 16px;border: 1px solid var(--rule);border-radius: 12px;background: var(--surface);box-shadow: var(--shadow);min-width: 0}.guide-hint{margin: 0;font-size: 14px;color: var(--ink-2);min-height: 1.6em}.guide-hint b{font-family: var(--f-indic);font-size: 17px;font-weight: 600;color: var(--accent)}.guide-note{margin: 0;font-size: 12px;color: var(--muted)}.kb-scroll{overflow-x: auto}.kb{position: relative;display: grid;gap: var(--g);width: max-content;margin: 0 auto}.kb-row{display: flex;gap: var(--g)}.kb-top{margin-left: calc(var(--u) * 1.5)}.kb-home{margin-left: calc(var(--u) * 1.75)}.kb-bottom{margin-left: 0}.kb-space{margin-left: calc(var(--u) * 4)}.kc2{position: relative;flex: none;width: var(--k);height: var(--k);border-radius: 7px;background: var(--surface-2);display: grid;place-items: center;font-family: var(--f-indic);color: var(--ink);transition: background .12s,color .12s}.kc2 b{font-weight: 500;font-size: 17px;line-height: 1;padding-top: 6px}.kc2 i{position: absolute;top: 3px;left: 5px;font-style: normal;font-size: 10.5px;line-height: 1;color: var(--muted)}.kc2.space{width: calc(var(--u) * 6 - var(--g))}.kc2.space b{font: 500 12px var(--f-mono);color: var(--muted);padding-top: 0}.kc2.next{background: var(--accent);color: var(--accent-ink)}.kc2.next i,.kc2.next.space b{color: color-mix(in oklab,var(--accent-ink) 75%,transparent)}.kc2[data-f$="5"],.finger-key i[data-f$="5"]{background: color-mix(in oklab,var(--s2) 26%,var(--surface-2))}.kc2[data-f$="4"],.finger-key i[data-f$="4"]{background: color-mix(in oklab,var(--s4) 30%,var(--surface-2))}.kc2[data-f$="3"],.finger-key i[data-f$="3"]{background: color-mix(in oklab,var(--s3) 26%,var(--surface-2))}.kc2[data-f$="2"],.finger-key i[data-f$="2"]{background: color-mix(in oklab,var(--s1) 26%,var(--surface-2))}.kb .kc2.next{background: var(--accent);color: var(--accent-ink)}.kb .kc2.mod b{font: 500 12px var(--f-mono);color: var(--muted);padding-top: 0}.kb .kc2.mod.next b{color: var(--accent-ink)}.kc2.new{box-shadow: inset 0 0 0 2px var(--accent)}.kc2.new.next{box-shadow: none}.kc2.then{box-shadow: inset 0 0 0 2px var(--accent);background: var(--accent-soft)}.kc2.bump::after{content: "";position: absolute;bottom: 5px;left: 50%;width: 10px;height: 2px;margin-left: -5px;border-radius: 1px;background: currentColor;opacity: .5}.kb.latin .kc2 b{font: 500 15px var(--f-mono)}.kb.has-hands{padding-bottom: calc(var(--u) * 3 + var(--g));--hand-line: color-mix(in oklab,var(--ink) 58%,var(--surface))}.hands{position: absolute;left: 0;top: 0;z-index: 1;pointer-events: none}.hands-svg{display: block;width: calc(var(--u) * 13.4);height: calc(var(--u) * 8);overflow: visible}.hands-svg .line{fill: none;stroke: var(--hand-line);stroke-width: .045;stroke-linecap: round;stroke-linejoin: round}.hands-svg .line.on{stroke: var(--accent);stroke-width: .07}.hands-svg .halo{fill: none;stroke: var(--surface);stroke-width: .13;stroke-opacity: .7;stroke-linecap: round;stroke-linejoin: round}.hands-svg .nail{fill: none;stroke: var(--hand-line);stroke-width: .03;opacity: .75}.hands-svg .rest{fill: none;stroke: var(--accent);stroke-width: .045;stroke-dasharray: .12 .09}.hands-svg .pulse{fill: var(--accent);opacity: 0;transform-box: fill-box;transform-origin: center;animation: hand-pulse 1.5s ease-out infinite}@keyframes hand-pulse{0%{opacity: .38;transform: scale(.55)}100%{opacity: 0;transform: scale(1.6)}}@media (prefers-reduced-motion: reduce){.hands-svg .pulse{animation: none;opacity: .16}}.kb.has-hands .kc2 b{position: relative;z-index: 2}.kb.has-hands .kc2 i{z-index: 2}.kb.has-hands .kc2:not(.next) b,.kb.has-hands .kc2 i{text-shadow: 0 0 2px var(--surface),0 0 5px var(--surface)}.kb.has-hands .kc2.next b{text-shadow: 0 0 3px var(--accent),0 0 7px var(--accent)}.finger-key{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;justify-content: center;gap: 6px 16px;font-size: 12px;color: var(--ink-2)}.finger-key li{display: inline-flex;align-items: center;gap: 6px}.finger-key i{display: inline-block;width: 12px;height: 12px;border-radius: 3px;background: var(--surface-2);box-shadow: inset 0 0 0 1px var(--rule)}@media (max-width: 640px){.kb-guide{--k: 30px;--g: 3px;padding: 12px}.kc2 b,.kb.latin .kc2 b{font-size: 14px}.kc2 i{font-size: 9px}.kc2.bump::after{bottom: 3px}}.hidden-input{position: fixed;top: 0;left: 0;width: 1px;height: 1px;opacity: 0;pointer-events: none;font-size: 16px;border: 0;padding: 0}.under{display: grid;justify-items: center;gap: 12px;padding-top: 18px;transition: opacity .25s ease;text-align: center}.under-actions{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 8px 20px}.hint{margin: 0;font-size: 12.5px;color: var(--muted)}kbd{font: 500 11px/1 var(--f-mono);background: var(--surface);border: 1px solid var(--rule);border-bottom-width: 2px;border-radius: 4px;padding: 3px 6px;color: var(--ink-2)}.link-btn{background: none;border: 0;padding: 0;color: var(--accent);font: inherit;text-decoration: underline;text-underline-offset: 2px;cursor: pointer}.foot{font-size: 12px;color: var(--muted);transition: opacity .25s ease}body.typing .top,body.typing .under,body.typing .foot{opacity: 0;pointer-events: none}.btn{display: inline-flex;align-items: center;gap: 8px;font: 600 14px/1 var(--f-ui);padding: 11px 16px;border-radius: 8px;border: 1px solid var(--rule);background: var(--surface);color: var(--ink);cursor: pointer;transition: border-color .15s,background .15s}.btn:hover{border-color: var(--axis)}.btn.ghost{background: transparent;border-color: transparent;color: var(--ink-2);padding: 9px 12px}.btn.ghost:hover{background: var(--surface);border-color: var(--rule);color: var(--ink)}.btn.danger{color: var(--error);border-color: var(--error)}.btn.danger:hover{background: var(--error);color: #fff}.danger-zone{border-color: color-mix(in srgb,var(--error) 35%,var(--rule))}.btn.primary{background: var(--accent);color: var(--accent-ink);border-color: transparent}.btn.primary kbd{background: transparent;color: inherit;border-color: color-mix(in oklab,var(--accent-ink) 45%,transparent)}.result-view{display: grid;gap: 16px;align-content: start}.result-view:focus{outline: none}@keyframes rise{from{opacity: .4;transform: translateY(6px)}to{opacity: 1;transform: none}}.res-kicker{margin: 0;font: 500 12px/1.3 var(--f-mono);letter-spacing: .08em;text-transform: uppercase;color: var(--muted)}.sample-banner{margin: 0;background: var(--surface-2);border: 1px dashed var(--axis);border-radius: 8px;padding: 10px 14px;font-size: 13.5px;color: var(--ink-2)}.rs-anim{animation: rs-in .45s cubic-bezier(.2,.7,.2,1) both;animation-delay: calc(var(--i,0) * 55ms)}.rs-still .rs-anim,.rs-still .grow,.rs-still .rs-panel{animation: none}@keyframes rs-in{from{opacity: 0;transform: translateY(8px)}to{opacity: 1;transform: none}}.grow{transform-origin: left center;animation: rs-grow .7s cubic-bezier(.2,.7,.2,1) .12s both}@keyframes rs-grow{from{transform: scaleX(0)}}svg.i{fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round}.btn svg.i{width: 16px;height: 16px;flex: none}.rs-hero{display: grid;grid-template-columns: minmax(0,1fr) minmax(250px,390px);gap: 22px 36px;align-items: center;padding: 26px 28px 24px;border: 1px solid var(--rule);border-radius: 16px;box-shadow: var(--shadow);background: radial-gradient(90% 130% at 0% 0%,color-mix(in oklab,var(--accent) 11%,transparent),transparent 62%),var(--surface)}.rs-score{display: grid;gap: 18px;min-width: 0}.rs-figs{display: flex;flex-wrap: wrap;gap: 12px 48px;align-items: flex-start}.rs-fig{display: grid;gap: 6px;min-width: 0}.rs-lbl{font: 500 11px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .08em;color: var(--muted)}.rs-val{display: flex;align-items: baseline;gap: 6px}.rs-num{font: 700 clamp(58px,10vw,100px)/.9 var(--f-ui);letter-spacing: -.045em;color: var(--ink)}.rs-fig.main .rs-num{color: var(--accent)}.rs-unit{font: 600 clamp(17px,2.2vw,24px)/1 var(--f-ui);color: var(--ink-2)}.rs-unit.pct,.rs-tv small.pct{margin-left: -3px}.rs-sub{font-size: 13px;color: var(--muted)}.rs-chips{display: flex;flex-wrap: wrap;gap: 8px}.rs-chip{display: inline-flex;align-items: center;gap: 7px;font: 600 13px/1.25 var(--f-ui);padding: 7px 12px;border-radius: 999px;background: var(--surface-2);color: var(--ink-2)}.rs-chip svg.i{width: 15px;height: 15px;flex: none}.rs-chip span{font-weight: 500;opacity: .8}.rs-verdict{background: var(--accent-soft);color: var(--accent)}.rs-up{background: var(--good-soft);color: var(--good)}.rs-down{color: var(--ink-2)}.rs-pb{background: var(--warn-soft);color: var(--warn-ink)}.rs-goal{display: grid;gap: 8px;max-width: 440px}.rs-goal-head{display: flex;justify-content: space-between;align-items: baseline;gap: 12px;font-size: 13.5px;color: var(--ink-2)}.rs-goal-head > span:first-child{display: inline-flex;align-items: center;gap: 7px}.rs-goal-head svg.i{width: 15px;height: 15px;color: var(--accent);align-self: center}.rs-goal-head b{color: var(--ink);font-weight: 650}.rs-goal-left{font: 500 12.5px var(--f-mono);color: var(--muted);white-space: nowrap}.rs-meter{height: 8px;border-radius: 999px;background: color-mix(in oklab,var(--accent) 15%,var(--surface-2));overflow: hidden}.rs-meter i{display: block;height: 100%;border-radius: 999px;background: var(--accent)}.rs-pctl{margin: 0;display: grid;gap: 6px;min-width: 0;padding-left: 30px;border-left: 1px solid var(--rule)}.rs-pctl figcaption{font-size: 13.5px;color: var(--ink-2)}.rs-pctl figcaption b{color: var(--accent)}.rs-pctl figcaption span{display: block;margin-top: 3px;font-size: 12px;color: var(--muted)}.pctl-chart svg{display: block;width: 100%;height: auto}.rs-tiles{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 10px;margin: 0}.rs-tile{background: var(--surface);border: 1px solid var(--rule);border-radius: 12px;padding: 13px 15px 14px;box-shadow: var(--shadow);cursor: help;min-width: 0;transition: border-color .15s}.rs-tile:hover{border-color: var(--axis)}.rs-tile dt{display: flex;align-items: center;justify-content: space-between;gap: 6px;font: 500 10.5px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .07em;color: var(--muted)}.rs-tile .i-info{width: 14px;height: 14px;flex: none;color: var(--axis);transition: color .15s}.rs-tile:hover .i-info{color: var(--accent)}.rs-tile dd{margin: 7px 0 0;min-width: 0}.rs-tv{display: block;font: 650 22px/1.1 var(--f-ui);color: var(--ink)}.rs-tv small{margin-left: 4px;font-size: 13px;font-weight: 500;color: var(--ink-2)}.rs-tile .sub{display: block;margin-top: 5px;font-size: 12px;line-height: 1.3;color: var(--muted);overflow-wrap: anywhere}.rs-focus{font: 500 12px/1 var(--f-mono);color: var(--accent);background: var(--accent-soft);padding: 4px 7px;border-radius: 5px}.actions.rs-actions{padding-block: 0}.card{background: var(--surface);border: 1px solid var(--rule);border-radius: 12px;padding: 18px 20px;display: grid;gap: 14px;align-content: start;min-width: 0;box-shadow: var(--shadow)}.card-head{display: grid;gap: 4px}.card-head.row{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px 16px}.card h3{margin: 0;font: 650 15.5px/1.3 var(--f-ui)}.card h4{margin: 0 0 8px;font: 500 10.5px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .07em;color: var(--muted)}.lede{margin: 0;font-size: 13.5px;color: var(--ink-2)}.lede b{color: var(--accent)}.note{margin: 0;font-size: 12.5px;color: var(--ink-2)}.empty{margin: 0;font-size: 13.5px;color: var(--muted)}.actions{display: flex;flex-wrap: wrap;gap: 10px;padding-block: 4px}.minis{display: grid;grid-template-columns: repeat(auto-fit,minmax(120px,1fr));gap: 14px 22px;margin: 0}.strip{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 1px;margin: 0;background: var(--rule);border: 1px solid var(--rule);border-radius: 12px;overflow: hidden}.strip > div{background: var(--surface);padding: 13px 16px;min-width: 0}.strip dt,.minis dt{font: 500 10.5px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .07em;color: var(--muted)}.strip dd,.minis dd{margin: 5px 0 0;font: 650 19px/1.1 var(--f-ui);font-variant-numeric: tabular-nums}.strip .sub,.minis .sub{display: block;margin-top: 4px;font-size: 11.5px;line-height: 1.3;color: var(--muted)}.hero{display: flex;flex-wrap: wrap;gap: 8px 40px;align-items: flex-end}.big{display: grid;gap: 4px}.big .lbl{font: 500 13px/1 var(--f-mono);color: var(--muted)}.big .num{font: 700 clamp(56px,10vw,92px)/.95 var(--f-ui);letter-spacing: -.035em;font-variant-numeric: lining-nums}.big .num small{font-size: .42em;font-weight: 600;margin-left: 3px;color: var(--ink-2);letter-spacing: 0}.big .num.accent{color: var(--accent)}.grid2{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px}.deep-head{display: grid;gap: 4px;padding-top: 18px}.deep{margin: 0;font: 700 22px/1.2 var(--f-ui);letter-spacing: -.01em}.foot-note{margin: 4px 0 0;font-size: 12px;color: var(--muted);max-width: 80ch}.rs-h{display: flex;align-items: center;gap: 10px}.rs-ico{width: 28px;height: 28px;border-radius: 8px;display: grid;place-items: center;flex: none;background: var(--accent-soft);color: var(--accent)}.rs-ico svg.i{width: 16px;height: 16px}.card .rs-sub-h{margin: 0;display: flex;align-items: center;gap: 8px;font: 650 14.5px/1.3 var(--f-ui);text-transform: none;letter-spacing: 0;color: var(--ink)}.rs-sub-h svg.i{width: 16px;height: 16px;color: var(--accent)}.rs-row{display: grid;grid-template-columns: minmax(0,1.5fr) minmax(0,1fr);gap: 16px;align-items: start}.rs-tips{list-style: none;margin: 0;padding: 0;display: grid;gap: 10px}.rs-tips li{display: grid;grid-template-columns: 28px minmax(0,1fr);gap: 12px;padding: 13px 14px;border: 1px solid var(--rule);border-radius: 11px;transition: border-color .15s,background-color .15s}.rs-tips li:hover,.rs-tips li.on{border-color: color-mix(in oklab,var(--accent) 40%,var(--rule));background: color-mix(in oklab,var(--accent-soft) 55%,var(--surface))}.rs-rank{width: 28px;height: 28px;border-radius: 8px;background: var(--accent-soft);color: var(--accent);font: 600 13px/28px var(--f-mono);text-align: center}.rs-tips li:first-child .rs-rank{background: var(--accent);color: var(--accent-ink)}.rs-tipbody{display: grid;gap: 6px;justify-items: start;min-width: 0}.rs-tipbody .ins-head{width: 100%}.rs-tipbody p{margin: 0;font-size: 14px;color: var(--ink-2)}.rs-tipbody .btn{margin-top: 4px}.rs-worth{display: flex;gap: 10px;align-items: flex-start;margin: 0;padding-top: 14px;border-top: 1px solid var(--rule);font-size: 13.5px;line-height: 1.5;color: var(--ink-2)}.rs-worth svg.i{flex: none;width: 16px;height: 16px;margin-top: 2px;color: var(--accent)}.rs-worth b{font-weight: 600;color: var(--ink);white-space: nowrap}.rs-worth a{font-weight: 600;color: var(--accent);text-underline-offset: 2px}.insights{list-style: none;margin: 0;padding: 0;display: grid;counter-reset: ins}.insights li{display: grid;grid-template-columns: 26px minmax(0,1fr);gap: 4px 12px;padding: 14px 0;border-top: 1px solid var(--rule)}.insights li:first-child{border-top: 0;padding-top: 0}.insights li:last-child{padding-bottom: 0}.insights li::before{counter-increment: ins;content: counter(ins);grid-row: span 2;width: 26px;height: 26px;border-radius: 6px;background: var(--accent-soft);color: var(--accent);font: 600 12.5px/26px var(--f-mono);text-align: center}.ins-head{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 6px 12px;min-width: 0}.ins-head h4{margin: 0;font: 650 15px/1.35 var(--f-ui);text-transform: none;letter-spacing: 0;color: var(--ink)}.insights p{margin: 0;grid-column: 2;font-size: 14px;color: var(--ink-2)}.gain{font: 600 11.5px/1 var(--f-mono);color: var(--good);background: var(--good-soft);padding: 5px 8px;border-radius: 5px;white-space: nowrap}.rs-segbar{display: flex;gap: 2px;height: 12px;border-radius: 999px;overflow: hidden}.seg{display: block;min-width: 3px;transition: opacity .15s}.seg.dim{opacity: .22}.seg-typing{background: var(--s1)}.seg-fixing{background: var(--s2)}.seg-starts{background: var(--s3)}.seg-pauses{background: var(--s4)}.rs-seglist{list-style: none;margin: 0;padding: 0;display: grid;gap: 2px}.rs-seglist li{display: grid;grid-template-columns: 12px minmax(0,1fr) auto 3.2em;gap: 10px;align-items: center;padding: 7px 8px;margin-inline: -8px;border-radius: 8px;font-size: 13.5px;transition: background-color .15s}.rs-seglist li:hover,.rs-seglist li.on{background: var(--surface-2)}.rs-seglist .bl small{display: block;font-size: 12px;line-height: 1.35;color: var(--muted)}.sw{display: block;width: 12px;height: 12px;border-radius: 3px}.bv{font: 12.5px var(--f-mono);font-variant-numeric: tabular-nums}.bp{font: 12px var(--f-mono);color: var(--muted);text-align: right}.legend{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 18px;font-size: 12.5px;color: var(--ink-2)}.lk{display: inline-block;width: 16px;height: 2px;vertical-align: middle;margin-right: 7px}.lk-wpm{background: var(--s1)}.lk-raw{background: var(--muted)}.lk-err{font-style: normal;font-weight: 700;color: var(--critical);margin-right: 6px}.chart,.heat{position: relative;min-width: 0}.chart svg{display: block;width: 100%;height: auto;overflow: visible}.heat svg{display: block;width: 100%;height: auto}svg .grid{stroke: var(--rule);stroke-width: 1}svg .axis{stroke: var(--axis);stroke-width: 1}svg .tick{fill: var(--muted);font: 11px var(--f-mono)}svg .line-wpm{fill: none;stroke: var(--s1);stroke-width: 2;stroke-linejoin: round;stroke-linecap: round}svg .line-raw{fill: none;stroke: var(--muted);stroke-width: 1.5;stroke-linejoin: round;stroke-linecap: round;opacity: .7}svg .area-wpm{fill: var(--s1);opacity: .1}svg .err-mark{stroke: var(--critical);stroke-width: 2;stroke-linecap: round}svg .end-dot{fill: var(--s1);stroke: var(--surface);stroke-width: 2}svg .end-label{fill: var(--ink);font: 600 12px var(--f-mono)}svg .band{fill: var(--accent);opacity: .14}svg .cross{stroke: var(--axis);stroke-width: 1}svg .hit{fill: transparent}svg .k-none{fill: var(--surface-2);opacity: .5}svg .k-has{fill: var(--surface-2)}svg .k-label{font: 500 14px var(--f-mono);fill: var(--ink);pointer-events: none}svg .k-label.on-dark{fill: #ffffff}svg .k-label.faint{fill: var(--muted)}svg .key{cursor: default;outline: none}svg .key.pick{cursor: pointer}svg .key.pick:hover rect,svg .key:focus-visible rect{stroke: var(--ink-2);stroke-width: 2}svg .key.sel rect,svg .key.sel:hover rect{stroke: var(--accent);stroke-width: 3.5}@media (max-width: 480px){svg .k-label{font-size: 22px}}svg .spark-line{fill: none;stroke: var(--s1);stroke-width: 2;stroke-linejoin: round}svg .spark-area{fill: var(--s1);opacity: .1}svg .pc-area{fill: var(--accent);opacity: .16}svg .pc-line{fill: none;stroke: var(--muted);stroke-width: 1.5}svg .pc-marker{stroke: var(--accent);stroke-width: 2}svg .pc-dot{fill: var(--accent);stroke: var(--surface);stroke-width: 2}svg .pc-label{fill: var(--ink);font: 600 12px var(--f-mono)}svg .pc-avg{stroke: var(--axis);stroke-width: 1}svg .pc-avg-label{fill: var(--muted);font: 500 10.5px var(--f-mono)}svg .best-line{stroke: var(--good);stroke-width: 1}svg .best-label{fill: var(--ink-2);font: 500 11px var(--f-mono)}svg .hist-dot{fill: var(--s1);stroke: var(--surface);stroke-width: 1.5}svg .now-dot{fill: var(--accent);stroke: var(--surface);stroke-width: 2.5}.trend svg:focus{outline: none}.trend svg:focus-visible{outline: 2px solid var(--accent);outline-offset: 4px;border-radius: 6px}svg .tr-fill-top{stop-color: var(--s1);stop-opacity: .2}svg .tr-fill-end{stop-color: var(--s1);stop-opacity: .02}svg .tr-dot{fill: var(--s1);stroke: var(--surface);stroke-width: 2}svg .tr-dot.now{stroke-width: 2.5}svg .tr-halo{fill: var(--s1);opacity: .16}svg .tr-val{fill: var(--ink-2);font: 600 11.5px var(--f-mono);paint-order: stroke;stroke: var(--surface);stroke-width: 3px;stroke-linejoin: round}svg .tr-val.now{fill: var(--ink);font-size: 13px;font-weight: 700}svg .tr-unit{fill: var(--muted);font: 500 10.5px var(--f-mono)}svg .tr-tick{stroke: var(--axis);stroke-width: 1}.tr-anim .tr-line{stroke-dasharray: 1;animation: tr-draw .9s cubic-bezier(.2,.7,.2,1) both}.tr-anim .tr-area,.tr-anim .tr-marks{animation: tr-fade .5s ease-out .45s both}@keyframes tr-draw{from{stroke-dashoffset: 1}to{stroke-dashoffset: 0}}@keyframes tr-fade{from{opacity: 0}}@media (prefers-reduced-motion: reduce){.tr-anim .tr-line,.tr-anim .tr-area,.tr-anim .tr-marks{animation: none}}.gtip{position: fixed;z-index: 40;max-width: min(300px,calc(100vw - 16px));background: var(--ink);color: var(--bg);font-size: 12.5px;line-height: 1.45;padding: 8px 11px;border-radius: 8px;pointer-events: none;box-shadow: 0 6px 22px rgba(0,0,0,.2)}.gtip .tt-h{font-weight: 650;margin-bottom: 2px}.gtip .tt-h span{font-weight: 400;opacity: .7}.gtip .tt-r{display: flex;align-items: center;gap: 6px;white-space: nowrap}.gtip .tt-r b{font-weight: 650}.gtip .tt-r span{opacity: .75}.gtip .tt-dim{opacity: .65;font-size: 11.5px}.gtip .tk{display: inline-block;width: 12px;height: 2px;border-radius: 1px;flex: none}.gtip .tk-wpm{background: var(--s1)}.gtip .tk-raw{background: var(--muted)}.gtip .tk-err{font-style: normal;font-weight: 700;color: var(--critical)}.heat-scale{display: flex;align-items: flex-start;gap: 10px;margin-top: 10px;font: 11.5px/1.2 var(--f-mono);color: var(--muted)}.hs-word{padding-top: 0;white-space: nowrap}.hs-mid{display: grid;gap: 4px;width: 140px;padding-top: 2px}.hs-ends{display: flex;justify-content: space-between;font-size: 11px}.grad{display: block;width: 100%;height: 10px;border-radius: 3px}.grad-speed{background: linear-gradient(90deg,color-mix(in oklab,var(--s1) 14%,var(--surface-2)),var(--s1))}.grad-errors{background: linear-gradient(90deg,color-mix(in oklab,var(--s2) 14%,var(--surface-2)),var(--s2))}.rs-words-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px 16px;padding-top: 16px;border-top: 1px solid var(--rule)}.rs-wlegend{gap: 6px 16px;font-size: 12px}.rs-scale{display: inline-flex;align-items: center;gap: 3px}.rs-scale > i:first-of-type{margin-left: 5px}.rs-scale > i:last-of-type{margin-right: 5px}.rw-sw{display: inline-block;width: 15px;height: 12px;border-radius: 3px;box-shadow: inset 0 0 0 1px var(--rule)}.rw-sw.t1,.rw.t1{background: color-mix(in oklab,var(--s1) 16%,transparent)}.rw-sw.t2,.rw.t2{background: color-mix(in oklab,var(--s1) 32%,transparent)}.rw-sw.t3,.rw.t3{background: color-mix(in oklab,var(--s1) 52%,transparent)}.rw-sw.t1,.rw-sw.t2,.rw-sw.t3{box-shadow: none}.rs-badch{font: 600 13px/1 var(--f-mono);color: var(--error);text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: 3px;margin-right: 6px}.rs-fixdot{display: inline-block;width: 6px;height: 6px;border-radius: 50%;background: var(--s2);margin-right: 7px;vertical-align: 2px}.rs-words{margin: 0;font: 400 16.5px/2.2 var(--f-mono);color: var(--ink)}.rs-words[lang="bn"],.rs-words[lang="hi"]{font-family: var(--f-indic);font-size: 18px;line-height: 2.5}.rw{position: relative;display: inline-block;padding: 0 5px;border-radius: 6px;line-height: 1.75;cursor: default;transition: background-color .12s,box-shadow .12s}.rw .bad{color: var(--error);text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: .3em}.rw .miss{color: var(--muted);text-decoration: underline dotted;text-decoration-thickness: 2px;text-underline-offset: .3em}.rw .extra{color: var(--extra);text-decoration: underline dotted;text-decoration-thickness: 2px;text-underline-offset: .3em}.rw .untyped{color: var(--untyped)}.rw.wrong{background: color-mix(in oklab,var(--error) 10%,transparent)}.rw.fixed::after{content: "";position: absolute;top: 2px;right: 1px;width: 5px;height: 5px;border-radius: 50%;background: var(--s2)}.rw:hover,.rw.hl{box-shadow: inset 0 0 0 2px var(--accent)}.rw:focus{outline: none}.rw:focus-visible{box-shadow: inset 0 0 0 2px var(--accent);outline: 2px solid var(--accent);outline-offset: 2px}.rw.flash{animation: rs-flash 1.4s ease-out}@keyframes rs-flash{0%,45%{box-shadow: inset 0 0 0 2px var(--accent),0 0 0 5px color-mix(in oklab,var(--accent) 28%,transparent)}100%{box-shadow: none}}.rs-slowest{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px}.rs-wchips{display: flex;flex-wrap: wrap;gap: 6px}.rs-wchip{font: 500 13.5px/1 var(--f-mono);color: var(--ink);background: var(--surface-2);border: 1px solid transparent;border-radius: 7px;padding: 7px 9px;cursor: pointer}.rs-words[lang="bn"] ~ .rs-slowest .rs-wchip,.rs-words[lang="hi"] ~ .rs-slowest .rs-wchip{font-family: var(--f-indic)}.rs-wchip:hover{border-color: var(--axis)}.rs-wchip:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.rs-wchip span{margin-left: 7px;font-size: 11.5px;color: var(--muted)}#slowDrill{margin-left: auto}.rs-numbers .rs-numgrid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.5fr);gap: 16px;align-items: start}.rs-typed{font-size: 12px;color: var(--error);white-space: nowrap}.rs-deep{display: grid;gap: 14px;min-width: 0}.rs-tabs{display: flex;gap: 4px;padding: 4px;overflow-x: auto;scrollbar-width: none;background: var(--surface);border: 1px solid var(--rule);border-radius: 12px;box-shadow: var(--shadow);width: fit-content;max-width: 100%}.rs-tabs::-webkit-scrollbar{display: none}.rs-tab{display: inline-flex;align-items: center;gap: 7px;flex: none;font: 600 13.5px/1 var(--f-ui);color: var(--ink-2);background: transparent;border: 0;border-radius: 9px;padding: 10px 13px;cursor: pointer;white-space: nowrap;transition: background-color .15s,color .15s}.rs-tab svg.i{width: 16px;height: 16px}.rs-tab:hover{background: var(--surface-2);color: var(--ink)}.rs-tab[aria-selected="true"]{background: var(--accent);color: var(--accent-ink)}.rs-tab:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.rs-cnt{font: 600 11px/1 var(--f-mono);padding: 3px 6px;border-radius: 999px;background: color-mix(in oklab,currentColor 16%,transparent)}.rs-panel{gap: 18px;animation: rs-in .3s ease-out}.rs-panel:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.rs-headtext{display: grid;gap: 4px;min-width: 0}.rs-headtext .lede kbd.kc{font-size: 12px;padding: 2px 6px}.seg-group.small .chip-btn{padding: 6px 9px;font-size: 12px}.kb-layout{display: grid;grid-template-columns: minmax(0,2.4fr) minmax(190px,1fr);gap: 28px;align-items: start}.keylists{display: grid;gap: 18px;align-content: start}.klist{list-style: none;margin: 0;padding: 0;display: grid;gap: 2px}.rs-kbtn{width: 100%;display: flex;align-items: center;justify-content: space-between;gap: 10px;background: none;border: 0;border-radius: 7px;padding: 4px 6px;margin-inline: -6px;width: calc(100% + 12px);cursor: pointer;font: 12.5px var(--f-mono);color: var(--ink-2);font-variant-numeric: tabular-nums;text-align: left}.rs-kbtn:hover{background: var(--surface-2);color: var(--ink)}kbd.kc small{font: 500 10px var(--f-mono);color: var(--muted);margin-left: 3px}.fixed-layout{font: 500 12px var(--f-mono);color: var(--ink-2);padding: 7px 10px;border: 1px solid var(--rule);border-radius: 9px;background: var(--surface)}kbd.kc{min-width: 28px;text-align: center;font-size: 13px;padding: 4px 7px;color: var(--ink);background: var(--surface-2)}kbd.kc.bad{color: var(--error)}.rs-keydet{display: grid;gap: 14px;align-content: start}.rs-keydet-head{display: flex;align-items: center;gap: 12px}.rs-keydet-head > div{display: grid;gap: 2px;flex: 1;min-width: 0}.rs-keydet-head b{font: 650 15px/1.2 var(--f-ui)}.rs-keydet-head span{font-size: 12.5px;color: var(--muted)}kbd.kc.rs-bigkey{min-width: 46px;height: 46px;display: grid;place-items: center;font-size: 20px;border-radius: 9px;border-bottom-width: 3px}.rs-x{width: 30px;height: 30px;flex: none;display: grid;place-items: center;border: 1px solid var(--rule);border-radius: 8px;background: var(--surface);color: var(--ink-2);font-size: 18px;line-height: 1;cursor: pointer}.rs-x:hover{border-color: var(--axis);color: var(--ink)}.rs-minis{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px;margin: 0}.rs-minis > div{background: var(--surface-2);border-radius: 9px;padding: 9px 11px;min-width: 0}.rs-minis dt{font: 500 10px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .06em;color: var(--muted)}.rs-minis dd{margin: 5px 0 0;font: 650 17px/1.15 var(--f-ui)}.rs-minis dd small{font-size: 12px;font-weight: 500;color: var(--muted)}.rs-minis .sub{display: block;margin-top: 3px;font: 400 11.5px/1.3 var(--f-ui);color: var(--muted)}.rs-prog dd{font-size: 20px}.rs-pairtxt{font-family: var(--f-mono);letter-spacing: .04em}.rs-pairs{list-style: none;margin: 0;padding: 0;display: grid;gap: 10px}.rs-pairs li{display: grid;grid-template-columns: 52px minmax(0,1fr) 104px 110px;gap: 14px;align-items: center;font-size: 13px}.rs-pairs .pair,.tbl .pair{font: 600 15px var(--f-mono);letter-spacing: .04em}.rs-ptrack{position: relative;height: 14px;background: var(--surface-2);border-radius: 0 4px 4px 0}.rs-pbar{display: block;height: 100%;background: var(--s1);border-radius: 0 4px 4px 0}.rs-ptyp{position: absolute;top: -4px;bottom: -4px;width: 2px;margin-left: -1px;background: var(--ink);border-radius: 1px}.rs-pval{font: 12.5px var(--f-mono);font-variant-numeric: tabular-nums;white-space: nowrap}.rs-pval small{margin-left: 6px;color: var(--muted);font-size: 11.5px}.rs-ptype{font-size: 12.5px;color: var(--ink-2)}.rs-pfoot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px}.rs-ptyp-key{margin: 0;display: inline-flex;align-items: center;gap: 8px;font-size: 12px;color: var(--muted)}.rs-ptyp-key i{width: 2px;height: 14px;border-radius: 1px;background: var(--ink)}.rs-ptypes{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 10px;margin: -6px 0 0}.rs-ptypes > div{background: var(--surface-2);border-radius: 10px;padding: 11px 12px;min-width: 0}.rs-ptypes dt{font: 500 10.5px/1.25 var(--f-mono);text-transform: uppercase;letter-spacing: .05em;color: var(--muted)}.rs-ptypes dd{margin: 6px 0 0;font: 650 18px/1.1 var(--f-ui)}.rs-ptypes dd small{font-size: 12px;font-weight: 500;color: var(--muted)}.rs-ptypes dd span{display: block;margin-top: 6px;font: 400 12px/1.35 var(--f-ui);color: var(--ink-2)}.rs-hands{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}.rs-hand{display: grid;gap: 4px;background: var(--surface-2);border-radius: 10px;padding: 11px 13px}.rs-hand b{font: 650 19px/1.1 var(--f-ui)}.rs-hand b small{font-size: 12px;font-weight: 500;color: var(--muted)}.rs-hand > span:last-child{font-size: 12.5px;color: var(--ink-2)}.fbars,.rs-ebars{list-style: none;margin: 0;padding: 0;display: grid;gap: 7px}.fbars li{display: grid;grid-template-columns: 96px minmax(0,1fr) 124px 34px;gap: 10px;align-items: center;font-size: 13px}.fbars li.slowest .fname{font-weight: 650}.ftrack,.etrack{display: block;height: 14px;background: var(--surface-2);border-radius: 0 4px 4px 0}.fbar,.ebar{display: block;height: 14px;border-radius: 0 4px 4px 0}.fbar{background: var(--s1)}.ebar{background: var(--s2)}.fval,.eval{font: 12px var(--f-mono);color: var(--ink-2);white-space: nowrap;font-variant-numeric: tabular-nums}.eval{text-align: right}.ferr{font: 11.5px var(--f-mono);color: var(--error);text-align: right;white-space: nowrap}.ferr b{font-weight: 600}.few{font: 11px var(--f-ui);color: var(--muted)}.chip{font: 500 10px/1 var(--f-mono);font-style: normal;text-transform: uppercase;letter-spacing: .05em;color: var(--warn-ink);background: var(--warn-soft);padding: 3px 5px;border-radius: 4px;margin-left: 4px}.rs-ebars{gap: 12px}.rs-ebars li{display: grid;grid-template-columns: minmax(0,250px) minmax(0,1fr) 32px;gap: 12px;align-items: center;font-size: 13.5px}.rs-ebars .ename small{display: block;font-size: 12px;color: var(--muted)}.rs-slips{list-style: none;margin: -6px 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.rs-slips li{display: inline-flex;align-items: center;gap: 6px;padding: 5px 8px;border: 1px solid var(--rule);border-radius: 9px}.rs-arrow{color: var(--muted);font-size: 13px}.rs-times{font: 500 12px var(--f-mono);color: var(--muted)}.rs-hscale,.rs-habits li{display: grid;grid-template-columns: minmax(0,230px) minmax(0,1fr) 150px;gap: 18px;align-items: center}.rs-hscale{font: 500 10.5px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .06em;color: var(--muted);margin-bottom: -8px}.rs-hends{position: relative;height: 1.2em}.rs-hends span{position: absolute;top: 0;transform: translateX(-50%);white-space: nowrap}.rs-hends span:first-child{left: 9.68%}.rs-hends span:last-child{left: 90.32%}.rs-habits{list-style: none;margin: 0;padding: 0;display: grid}.rs-habits li{padding: 11px 0;border-top: 1px solid var(--rule);cursor: help}.rs-hname{font-size: 14px;color: var(--ink)}.rs-hname small{display: block;font-size: 12px;color: var(--muted)}.rs-htrack{position: relative;height: 22px}.rs-hbar{position: absolute;left: 9.68%;right: 9.68%;top: 8px;height: 6px;border-radius: 3px;background: linear-gradient(90deg,var(--surface-2),color-mix(in oklab,var(--accent) 24%,var(--surface-2)))}.rs-htick{position: absolute;top: 4px;width: 2px;height: 14px;margin-left: -1px;border-radius: 1px;background: var(--axis)}.rs-htick.avg{top: 1px;height: 20px;background: var(--ink-2)}.rs-hyou{position: absolute;top: 4px;width: 14px;height: 14px;margin-left: -7px;border-radius: 50%;background: var(--accent);box-shadow: 0 0 0 2px var(--surface)}.rs-hval{display: flex;align-items: center;justify-content: flex-end;gap: 4px;font: 13px var(--f-mono);font-variant-numeric: tabular-nums;white-space: nowrap}.rs-hkey{margin: 0;display: flex;flex-wrap: wrap;gap: 6px 18px;font-size: 12px;color: var(--ink-2)}.rs-hkey > span{display: inline-flex;align-items: center;gap: 7px}.rs-hkey .rs-hyou,.rs-hkey .rs-htick{position: static;margin: 0;flex: none}.tbl-scroll{overflow-x: auto}details .tbl-scroll{max-height: 260px;overflow-y: auto;margin-top: 8px}details summary{cursor: pointer;font-size: 13px;color: var(--ink-2);width: fit-content}.tbl{width: 100%;border-collapse: collapse;font-size: 13.5px}.tbl th{text-align: left;font: 500 10.5px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .06em;color: var(--muted);padding: 6px 8px;border-bottom: 1px solid var(--rule);white-space: nowrap;background: var(--surface);position: sticky;top: 0}.tbl td{padding: 8px;border-bottom: 1px solid var(--rule);font-variant-numeric: tabular-nums;vertical-align: middle}.tbl tr:last-child td{border-bottom: 0}.tbl .num{text-align: right;white-space: nowrap}.status{display: inline-block;margin-left: 6px;font: 500 10.5px/1 var(--f-mono);padding: 3px 5px;border-radius: 4px;vertical-align: 1px}.status.ahead{color: var(--good);background: var(--good-soft)}.status.behind{color: var(--warn-ink);background: var(--warn-soft)}.spark svg{display: block;width: 100%;max-width: 300px;height: auto}.toast{position: fixed;left: 50%;bottom: calc(24px + env(safe-area-inset-bottom,0px));transform: translateX(-50%);z-index: 20;max-width: calc(100% - 32px);background: var(--ink);color: var(--bg);padding: 10px 14px;border-radius: 8px;font-size: 13.5px}@media (max-width: 860px){.rs-hero{grid-template-columns: 1fr}.rs-pctl{max-width: 520px;padding: 18px 0 0;border-left: 0;border-top: 1px solid var(--rule)}.rs-row,.grid2{grid-template-columns: 1fr}.kb-layout{grid-template-columns: 1fr;gap: 18px}.keylists{grid-template-columns: 1fr 1fr}.rs-keydet{grid-column: 1 / -1}.rs-numbers .rs-numgrid{grid-template-columns: 1fr}.rs-tiles,.strip{grid-template-columns: repeat(6,minmax(0,1fr))}.rs-tile,.strip > div{grid-column: span 2}.rs-tile:nth-child(n+4),.strip > div:nth-child(n+4){grid-column: span 3}.rs-hscale{display: none}.rs-habits li{grid-template-columns: minmax(0,1fr) auto;gap: 6px 14px}.rs-htrack{grid-column: 1 / -1;grid-row: 2}}@media (max-width: 480px){.rs-actions .btn{flex: 1 1 auto;justify-content: center}.rs-focus{display: none}.rs-tiles,.strip{grid-template-columns: repeat(2,minmax(0,1fr))}.rs-tile,.rs-tile:nth-child(n+4),.strip > div,.strip > div:nth-child(n+4){grid-column: auto}.rs-tile:last-child,.strip > div:last-child{grid-column: 1 / -1}}@media (min-width: 641px) and (max-width: 1023px){.top{grid-template-columns: auto minmax(0,1fr)}.tabs{grid-column: 1 / -1;grid-row: 2;margin-inline: -4px;flex-wrap: wrap}}@media (max-width: 640px){.top{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 10px 12px}.me-bar{flex-wrap: wrap;justify-content: flex-end}.tabs,.config{order: 1;flex: 1 0 100%}.tabs{margin-inline: -4px;flex-wrap: wrap}.stat-chip{padding: 6px 7px}.config{display: grid;grid-template-columns: auto auto;justify-content: start}.config .select{grid-column: 1 / -1}.config .select select{width: 100%}.config > .seg-group{grid-column: 1 / -1;justify-self: start}.config #valueGroup{flex-wrap: wrap}.test-view{padding-block: 2vh 8vh}.hero{gap: 8px 28px}.result-view .card{padding: 16px}.rs-hero{padding: 20px 18px 18px;border-radius: 14px;gap: 18px}.rs-figs{gap: 10px 30px}.rs-goal{max-width: none}.rs-tabs{width: 100%;display: grid;grid-template-columns: repeat(3,minmax(0,1fr))}.rs-tab{position: relative;flex-direction: column;gap: 5px;padding: 9px 4px;font-size: 12.5px}.rs-tab .rs-cnt{position: absolute;top: 5px;right: 6px;font-size: 10px;padding: 2px 5px}.fbars li{grid-template-columns: 80px minmax(0,1fr) 104px 28px;gap: 8px}.rs-pairs li{grid-template-columns: 44px minmax(0,1fr) 96px;gap: 4px 10px}.rs-ptype{grid-column: 2 / -1;font-size: 12px;color: var(--muted)}.rs-ptypes{grid-template-columns: repeat(2,minmax(0,1fr))}.rs-ebars li{grid-template-columns: minmax(0,1fr) 28px;gap: 6px 10px}.rs-ebars .etrack{grid-column: 1 / -1;grid-row: 2}.rs-words{font-size: 15px}#slowDrill{margin-left: 0}}@media (max-width: 480px){.top{column-gap: 8px}.me-bar{gap: 4px}.stat-chip{gap: 4px;padding-inline: 5px}.stat-chip .unit{position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap}.tabs a{padding-inline: 8px}}@media (prefers-reduced-motion: reduce){.caret{transition: none}.caret.idle{animation: none}.top,.under,.foot,.chip-btn,.track,.thumb,.btn{transition: none}.rs-anim,.grow,.rs-panel,.rw.flash{animation: none}}.view-host{display: grid;gap: 18px;align-content: start;min-width: 0;animation: rise .28s ease-out}.view-head{display: grid;gap: 6px;max-width: 72ch}.view-head h1{margin: 0;font: 700 26px/1.2 var(--f-ui);letter-spacing: -.015em}.back{font-size: 13px;color: var(--accent);text-decoration: none;width: fit-content}.back:hover{text-decoration: underline}a.btn{text-decoration: none}.btn.small{padding: 8px 12px;font-size: 13px}.btn:disabled{opacity: .55;cursor: not-allowed}.meter{height: 8px;border-radius: 4px;background: var(--surface-2);overflow: hidden}.meter i{display: block;height: 100%;background: var(--accent);border-radius: 4px}.meter.done i{background: var(--good)}.xp-strip{margin: 0;font: 500 13px/1.5 var(--f-mono);color: var(--ink-2)}.xp-strip b{color: var(--accent);font-weight: 600}.readme-preview{margin: 0 0 12px;min-height: 20px}.readme-preview img{display: block;height: 20px;width: auto}.progress-prompt{margin-top: 12px;border-left: 4px solid var(--accent)}.result-slot{display: grid;gap: 12px}.result-slot:empty{display: none}.ad-slot-wrap{min-height: 100px;border-top: 1px solid var(--rule);padding-top: 12px}.ad-label{margin: 0 0 6px;font: 500 10px var(--f-mono);text-transform: uppercase;letter-spacing: .08em;color: var(--muted)}.learn-grid{display: grid;grid-template-columns: minmax(0,1.6fr) minmax(260px,1fr);gap: 16px;align-items: start}.plan{display: grid;gap: 16px;min-width: 0}.lessons{list-style: none;margin: 0;padding: 0;display: grid}.lesson{display: grid;grid-template-columns: 30px minmax(0,1fr) auto auto;gap: 6px 12px;align-items: center;padding: 10px 0;border-top: 1px solid var(--rule)}.lesson:first-child{border-top: 0;padding-top: 2px}.ln{width: 28px;height: 28px;border-radius: 7px;display: grid;place-items: center;font: 600 12.5px var(--f-mono);background: var(--surface-2);color: var(--ink-2)}.lesson.ok .ln{background: var(--good-soft);color: var(--good)}.lesson.up .ln{background: var(--accent);color: var(--accent-ink)}.lmain{display: grid;gap: 5px;min-width: 0}.lmain b{font: 600 14px/1.3 var(--f-ui)}.lkeys{display: flex;flex-wrap: wrap;gap: 4px}.lkeys kbd.kc{font-family: var(--f-indic);min-width: 26px;padding: 3px 6px}.lkeys kbd.kc.wide{font: 500 11.5px var(--f-ui)}.lkeys .plus{align-self: center;color: var(--muted);font-size: 12px}.ltip{font-size: 12.5px;color: var(--ink-2)}.fingers-card summary{display: flex;flex-wrap: wrap;align-items: baseline;gap: 4px 12px;cursor: pointer;list-style: none}.fingers-card summary::-webkit-details-marker{display: none}.fingers-card summary h3{margin: 0}.fingers-card summary::before{content: "▸";color: var(--muted);font-size: 12px;transition: transform .15s}.fingers-card[open] summary::before{transform: rotate(90deg)}.fingers-card[open] summary .note{display: none}.kb-guide.static{--k: clamp(20px,calc((100vw - 96px) / 14.5 - 4px),31px);--g: 4px;margin-top: 12px;box-shadow: none;padding: 12px}.kb-guide.static .kc2 b,.kb-guide.static .kb.latin .kc2 b{font-size: calc(var(--k) * .42);padding-top: 3px}.kb-guide.static .kc2 i{font-size: calc(var(--k) * .28);top: 2px;left: 3px}.kb-guide.static .kb .kc2.mod b,.kb-guide.static .kc2.space b{font-size: calc(var(--k) * .32)}.kb-guide.static .kc2.bump::after{bottom: 3px;width: 8px;margin-left: -4px}.finger-steps{margin: 12px 0 0;padding-left: 18px;display: grid;gap: 6px;font-size: 14px;color: var(--ink-2)}.finger-steps b{color: var(--ink)}.finger-steps kbd.kc{font-family: var(--f-indic);min-width: 24px;padding: 2px 5px;margin: 0 1px}.lbest{font: 12px var(--f-mono);color: var(--muted);white-space: nowrap}.goal-row{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px}.ch-grid{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(10,minmax(0,1fr));gap: 4px}.ch-grid li{aspect-ratio: 1;border-radius: 5px;display: grid;place-items: center;font: 500 10.5px var(--f-mono);color: var(--muted);background: var(--surface-2)}.ch-grid li.done{background: var(--good);color: var(--surface)}.ch-grid li.today{box-shadow: inset 0 0 0 2px var(--accent);color: var(--ink)}.ch-grid li.missed{background: transparent;box-shadow: inset 0 0 0 1px var(--rule)}.ch-grid li.future{opacity: .55}.game-cards{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr));gap: 16px;margin-bottom: 16px}.game-card{display: grid;gap: 8px;color: inherit;text-decoration: none;transition: transform .15s ease}.game-card:hover{transform: translateY(-2px)}.game-card h3{margin: 0}.game-card p{margin: 0}.game-art{height: 110px;border-radius: 10px;display: grid;place-items: center;background: linear-gradient(#fbe9c2,#f0c987);overflow: hidden}.storm-art{display: flex;align-items: flex-end;justify-content: space-around;padding-bottom: 14px;background: linear-gradient(#f7d99b,#e8b264)}.storm-art .sw{font: 600 13px var(--f-mono);background: rgba(255,255,255,.85);color: #6b4a1b;padding: 3px 8px;border-radius: 6px}.storm-art .sw:nth-child(1){transform: translateY(-58px)}.storm-art .sw:nth-child(2){transform: translateY(-24px)}.storm-art .sw:nth-child(3){transform: translateY(-70px)}.camel{width: 46px;height: 34px}.camel.big{width: 120px;height: 90px}.camel-pen{display: grid;grid-template-columns: repeat(auto-fill,minmax(120px,1fr));gap: 10px}.camel-pick{display: grid;justify-items: center;gap: 2px;padding: 10px 8px;border: 1px solid var(--rule);border-radius: 12px;background: var(--surface);color: var(--ink);cursor: pointer;font: inherit}.camel-pick .camel{width: 64px;height: 48px}.camel-pick.on{border-color: var(--accent);box-shadow: 0 0 0 2px var(--accent-soft)}.camel-pick[disabled]{cursor: default;opacity: .7}.camel-pick .note{font-size: 12px;text-align: center}.camel-new{display: flex;align-items: center;gap: 8px;margin: 6px 0;font-weight: 600}.storm{position: relative;height: min(56vh,460px);border-radius: 14px;overflow: hidden;background: linear-gradient(#f9dfa7 0%,#f3c57c 70%,#e0a85e 100%);border: 1px solid var(--rule)}.storm-hud{position: absolute;inset: 10px 12px auto;display: flex;justify-content: space-between;font: 600 14px var(--f-mono);color: #5d3f12;z-index: 2}.storm-field{position: absolute;inset: 0}.storm-word{position: absolute;left: 0;top: 0;padding: 4px 10px;border-radius: 8px;background: rgba(255,255,255,.92);color: #3d2a0e;font: 600 18px var(--f-mono);white-space: nowrap;box-shadow: 0 2px 6px rgba(93,63,18,.18);will-change: transform}.storm-word.on{background: #fff;color: var(--accent);box-shadow: 0 0 0 2px var(--accent)}.storm-word.gone{opacity: 0;transition: opacity .25s ease}.storm-word.lost{background: #b9362e;color: #fff;opacity: 0;transition: opacity .3s ease .1s}.storm-oasis{position: absolute;left: 0;right: 0;bottom: 0;height: 26px;background: linear-gradient(#5fb3b0,#2e8b84)}.storm-over{position: absolute;inset: 0;display: grid;place-content: center;justify-items: center;gap: 6px;text-align: center;background: rgba(249,223,167,.88);color: #3d2a0e;z-index: 3}.storm-over p{margin: 0}.storm-type{display: block;margin-top: 12px}.storm-type input{width: 100%;font: 600 20px var(--f-mono);padding: 12px 14px;border: 2px solid var(--rule);border-radius: 10px;background: var(--surface);color: var(--ink)}.storm-type input:focus{outline: none;border-color: var(--accent)}.storm-type input.miss{border-color: var(--error)}.camel-lanes .ln-track.sand{position: relative;height: 38px;background: linear-gradient(transparent 70%,#e8c58a 70%);border-radius: 0;overflow: visible}.camel-lanes .runner{position: absolute;bottom: 0;transition: left .12s linear}.camel-lanes .camel.run{width: 38px;height: 29px}.grade.pass{color: var(--good);font-weight: 600}.grade.tried{color: var(--muted)}.pic{display: inline-grid;place-items: center;width: 44px;height: 44px;border-radius: 10px;color: #fff}.pic svg{width: 28px;height: 28px}.pic-pair{display: inline-flex;gap: 4px}.pic-pair .pic{width: 30px;height: 30px;border-radius: 8px}.pic-pair .pic svg{width: 18px;height: 18px}.pic-grid{display: grid;grid-template-columns: repeat(4,minmax(0,88px));gap: 12px;margin: 16px 0}.pic-btn{border: 0;background: none;padding: 0;cursor: pointer;border-radius: 16px}.pic-btn .pic{width: 88px;height: 88px;border-radius: 16px}.pic-btn .pic svg{width: 52px;height: 52px}.pic-btn:active .pic{transform: scale(.95)}.pic-slots{display: flex;gap: 12px;margin-top: 8px}.pic-slot{width: 64px;height: 64px;border-radius: 14px;border: 2px dashed var(--rule);display: grid;place-items: center}.pic-slot .pic{width: 60px;height: 60px;border-radius: 12px}.name-pick{display: flex;flex-wrap: wrap;gap: 10px;margin: 16px 0}.name-pick .btn{font-size: 18px;padding: 12px 18px}.auth-class{margin: 0 0 16px}@media (max-width: 480px){.pic-grid{grid-template-columns: repeat(3,minmax(0,1fr))}.pic-btn .pic{width: 100%;height: auto;aspect-ratio: 1}}.mastery{display: flex;flex-wrap: wrap;gap: 6px;margin: 12px 0 8px}.mk{width: 30px;height: 34px;display: grid;place-items: center;border-radius: 7px;font: 600 15px/1 var(--f-mono);color: var(--ink);border: 1px solid var(--rule);background: linear-gradient(to top,color-mix(in srgb,var(--accent) 30%,transparent) calc(var(--p,0) * 100%),var(--surface) 0)}.mk.ok{background: var(--accent);color: var(--accent-ink);border-color: var(--accent)}.mk.locked{opacity: .35;background: transparent}.mk.focus{box-shadow: 0 0 0 2px var(--surface),0 0 0 4px var(--warn-ink)}.lesson-banner .mastery{margin: 6px 0 2px}.book-list{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr));gap: 16px}.book-card{display: grid;gap: 10px;align-content: start}.book-card h3 a{color: inherit;text-decoration: none}.book-card h3 a:hover{text-decoration: underline}.book-meter{height: 8px;border-radius: 4px;background: var(--surface-2);overflow: hidden}.book-meter i{display: block;height: 100%;background: var(--accent);border-radius: 4px}.view-head .book-meter{max-width: 420px;margin-top: 10px}.book-chapters{margin: 0;padding-left: 1.4em;display: grid;gap: 6px}.book-chapters li{display: flex;flex-wrap: wrap;gap: 4px 10px;align-items: baseline}.book-chapters li.done .link-btn{color: var(--muted)}.book-chapters li.here .link-btn{font-weight: 600}.book-note{margin-top: 16px}.quote-credit{margin: 0;padding: 14px 18px;border-left: 3px solid var(--accent);background: var(--surface);border-radius: 0 10px 10px 0;line-height: 1.55}.quote-credit span{display: block;margin-top: 6px;color: var(--muted);font-size: 14px}#customText{width: 100%;min-height: 180px;resize: vertical;font: 14px/1.5 var(--f-mono);padding: 10px 12px;border: 1px solid var(--rule);border-radius: 8px;background: var(--bg);color: var(--ink)}.lesson-banner{border-radius: 10px;padding: 12px 16px;display: grid;gap: 4px}.lesson-banner p{margin: 0}.lesson-banner a{color: inherit}.lesson-banner.pass{background: var(--good-soft)}.lesson-banner.pass b{color: var(--good)}.lesson-banner.fail{background: var(--warn-soft)}.lesson-banner.fail b{color: var(--warn-ink)}.exam-group{display: grid;gap: 10px}.group-title{margin: 0;font: 500 11px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .08em;color: var(--muted)}.exam-cards{display: grid;grid-template-columns: repeat(auto-fill,minmax(260px,1fr));gap: 12px}.exam-card{display: grid;gap: 6px;align-content: start;text-align: left;font: inherit;color: var(--ink);background: var(--surface);border: 1px solid var(--rule);border-radius: 12px;padding: 16px;cursor: pointer;box-shadow: var(--shadow)}.exam-card:hover{border-color: var(--accent)}.exam-card:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.exam-card b{font: 650 15px/1.3 var(--f-ui)}.ec-lang{font: 500 10.5px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .07em;color: var(--accent)}.ec-req{font: 500 12.5px/1.4 var(--f-mono);color: var(--ink-2)}.ec-note{font-size: 12.5px;color: var(--muted)}details.card summary{font-weight: 600;color: var(--ink)}.setup,.upsell{max-width: 680px}.fields{display: flex;flex-wrap: wrap;gap: 12px 20px}.field{display: grid;gap: 6px}.switches{display: flex;flex-wrap: wrap;gap: 10px 22px}.exam-bar{position: sticky;top: 0;z-index: 3;display: grid;grid-template-columns: minmax(0,1fr) auto auto auto;gap: 10px 18px;align-items: center;background: var(--bg);padding: 10px 0;border-bottom: 1px solid var(--rule)}.eb-title{display: grid;min-width: 0}.eb-title b{font: 650 14.5px/1.3 var(--f-ui)}.eb-title span{font-size: 12.5px;color: var(--muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.eb-clock{font: 600 26px/1 var(--f-mono);color: var(--accent);font-variant-numeric: tabular-nums}.eb-clock.low{color: var(--error)}.eb-count{font: 500 13px var(--f-mono);color: var(--ink-2)}.btn.confirm{background: var(--error);color: #fff;border-color: transparent}.passage{max-height: 34vh;overflow-y: auto;background: var(--surface);border: 1px solid var(--rule);border-radius: 12px;padding: 16px 18px;font-size: 17px;line-height: 1.75;user-select: none}.passage .here{background: var(--accent-soft);border-radius: 4px;box-shadow: 0 0 0 2px var(--accent-soft)}.typebox{position: relative;min-height: 26vh;max-height: 40vh;overflow-y: auto;background: var(--surface);border: 1px solid var(--axis);border-radius: 12px;padding: 16px 18px;font-size: 17px;line-height: 1.75;white-space: pre-wrap;overflow-wrap: anywhere;cursor: text}.typebox .tcaret{display: inline-block;width: 2px;height: 1.15em;background: var(--accent);vertical-align: -.2em;margin-left: 1px;animation: blink 1.05s steps(1) infinite}.typebox .focus-msg{inset: 0;border-radius: 12px}.tb-hint{display: block;color: var(--muted);font-size: 14px}.passage[lang="hi"],.passage[lang="bn"],.typebox[lang="hi"],.typebox[lang="bn"],.review[lang="hi"],.review[lang="bn"]{font-family: var(--f-indic);font-size: 18.5px;line-height: 1.95}.verdict{border-radius: 12px;padding: 14px 18px;display: grid;gap: 6px}.verdict b{font: 700 22px/1.2 var(--f-ui)}.verdict.pass{background: var(--good-soft)}.verdict.pass b{color: var(--good)}.verdict.fail{background: var(--warn-soft)}.verdict.fail b{color: var(--warn-ink)}.verdict ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 3px;font-size: 14px}.verdict li.ok{color: var(--good)}.verdict li.no{color: var(--warn-ink)}.review{margin: 0;font-size: 15.5px;line-height: 2.1}.review .w{white-space: nowrap}.review del{color: var(--muted);text-decoration-color: var(--error);text-decoration-thickness: 2px}.review ins{text-decoration: none;color: var(--error);background: color-mix(in oklab,var(--error) 12%,transparent);border-radius: 3px;padding: 0 3px;margin-left: 2px}.review .omit del{color: var(--error)}.review .add ins{color: var(--extra);margin-left: 0}.review-key{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 6px 18px;font-size: 12.5px;color: var(--ink-2)}.modal-wrap{position: fixed;inset: 0;z-index: 30;display: grid;place-items: center;padding: 16px;background: color-mix(in oklab,#000 45%,transparent)}.modal{position: relative;width: min(560px,100%);max-height: calc(100dvh - 32px);overflow-y: auto;background: var(--surface);color: var(--ink);border-radius: 14px;padding: 22px;display: grid;gap: 14px;box-shadow: 0 20px 60px rgba(0,0,0,.25)}.modal h3{margin: 0;padding-right: 36px;font: 650 17px/1.3 var(--f-ui)}.modal-x{position: absolute;top: 12px;right: 12px;width: 34px;height: 34px;border-radius: 8px;border: 0;background: transparent;color: var(--ink-2);font-size: 22px;line-height: 1;cursor: pointer}.modal-x:hover{background: var(--surface-2)}.share-img{display: block;width: 100%;height: auto;border-radius: 8px;border: 1px solid var(--rule)}@media (max-width: 860px){.learn-grid{grid-template-columns: 1fr}}@media (max-width: 640px){.view-head h1{font-size: 22px}.lesson{grid-template-columns: 28px minmax(0,1fr) auto}.lbest{grid-column: 2;grid-row: 2}.lesson .btn{grid-column: 3;grid-row: 1 / span 2}.exam-bar{grid-template-columns: minmax(0,1fr) auto auto}.eb-count{display: none}.passage{max-height: 28vh;font-size: 16px}.typebox{min-height: 22vh;font-size: 16px}}@media (prefers-reduced-motion: reduce){.view-host{animation: none}.typebox .tcaret{animation: none}*,*::before,*::after{animation-duration: .01ms !important;animation-iteration-count: 1 !important;transition-duration: .01ms !important;scroll-behavior: auto !important}}.field input,.inline-form input{font: 500 14px/1.2 var(--f-ui);color: var(--ink);background: var(--surface);border: 1px solid var(--field);border-radius: 9px;padding: 10px 12px;min-width: 0;width: 100%}.field input:hover,.inline-form input:hover{border-color: var(--ink-2)}.field input:focus-visible,.inline-form input:focus-visible{outline: 2px solid var(--accent);outline-offset: 1px;border-color: transparent}.inline-form{display: flex;flex-wrap: wrap;gap: 8px;align-items: flex-end}.inline-form .field{flex: 1 1 180px}.form-msg{margin: 0;font-size: 13px;color: var(--error);min-height: 1em}.form-msg:empty{display: none}code{font: 500 12.5px var(--f-mono);background: var(--surface-2);padding: 2px 5px;border-radius: 4px}.needs-server{max-width: 680px}.auth-grid,.class-grid,.acct-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px;align-items: start}.auth{max-width: 460px}details.danger summary{color: var(--error)}.btn.google{background: var(--g-bg);color: var(--g-ink);border-color: var(--g-line);font-weight: 500;gap: 10px}.btn.google:hover{background: var(--g-hover);border-color: var(--g-line)}.btn.google .g-logo{flex: none}.auth-google{display: grid;gap: 10px;justify-items: start;max-width: 460px}.auth-or{display: flex;align-items: center;gap: 12px;margin: 0;font-size: 12.5px;color: var(--muted)}.auth-or::before,.auth-or::after{content: "";flex: 1;height: 1px;background: var(--rule)}.form-msg .btn.google{display: flex;width: fit-content;margin-top: 10px}.rank-controls{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px;min-width: 0}.rank-controls .seg-group{flex-wrap: wrap;max-width: 100%}.rank-controls .select,.rank-controls .select select{max-width: 100%;min-width: 0}.rank-grid{display: grid;grid-template-columns: minmax(0,1.6fr) minmax(250px,1fr);gap: 16px;align-items: start}.tbl tr.me td{background: var(--accent-soft)}.league-me{margin: 0;font-size: 14px;display: flex;flex-wrap: wrap;align-items: center;gap: 8px}.tiers{list-style: none;margin: 0;padding: 0;display: grid;gap: 4px}.tiers li{display: flex;justify-content: space-between;align-items: center;gap: 8px}.tier{font: 600 11px/1 var(--f-mono);text-transform: uppercase;letter-spacing: .06em;padding: 4px 7px;border-radius: 5px;background: var(--surface-2);color: var(--ink-2)}.tier-silver{background: color-mix(in oklab,var(--muted) 22%,var(--surface));color: var(--ink)}.tier-gold{background: var(--warn-soft);color: var(--warn-ink)}.tier-platinum{background: color-mix(in oklab,var(--s1) 18%,var(--surface));color: color-mix(in oklab,var(--s1) 70%,var(--ink))}.tier-diamond{background: var(--accent-soft);color: var(--accent)}.tasks{list-style: none;margin: 0;padding: 0;display: grid}.task{display: grid;grid-template-columns: minmax(0,1fr) auto auto;gap: 6px 12px;align-items: center;padding: 10px 0;border-top: 1px solid var(--rule)}.task:first-child{border-top: 0;padding-top: 0}.task > div{display: grid;gap: 2px;min-width: 0}.task.done b{color: var(--ink-2)}.task-form{display: flex;flex-wrap: wrap;gap: 10px 14px;align-items: flex-end;padding-top: 14px;border-top: 1px solid var(--rule)}.task-form h4{flex: 1 1 100%;margin: 0}.task-form .field{flex: 1 1 150px}.task-form .task-note{flex: 1 1 100%;margin: 0}.chip-btn .plus{font-size: 11px;color: var(--muted);margin-left: 4px}.task-form .field.wide{flex: 1 1 100%}.tour-admin{border-top: 1px solid var(--rule);padding: 10px 0}.tour-admin summary{cursor: pointer}.tbl.funnel .sub{display: block;font-size: 11px;color: var(--muted)}.tbl.funnel tfoot td{font-weight: 650;border-top: 2px solid var(--rule)}pre.stack{white-space: pre-wrap;word-break: break-word;font: 12px/1.4 var(--f-mono);max-height: 240px;overflow: auto;margin: 6px 0 0}.code{font-family: var(--f-mono);letter-spacing: .08em;color: var(--accent)}.race-actions{display: flex;flex-wrap: wrap;gap: 10px;align-items: flex-end}.race-actions .inline-form{flex: 0 1 280px}.players{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.players li{font-size: 14px;background: var(--surface-2);padding: 7px 10px;border-radius: 7px}.race-link{margin: 2px 0 12px;font: 600 22px/1.3 var(--f-mono);color: var(--accent);overflow-wrap: anywhere}.race-lanes{display: grid;gap: 8px;padding: 12px 14px;border: 1px solid var(--rule);border-radius: 12px;background: var(--surface)}.lanes-head{display: flex;justify-content: space-between;gap: 10px;font-size: 13px}#raceStatus{font: 600 13px var(--f-mono);color: var(--accent)}.lanes{list-style: none;margin: 0;padding: 0;display: grid;gap: 6px}.lane{display: grid;grid-template-columns: minmax(70px,140px) minmax(0,1fr) 70px;gap: 10px;align-items: center;font-size: 13px}.ln-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.lane.me .ln-name{font-weight: 650}.ln-track{height: 10px;border-radius: 5px;background: var(--surface-2);overflow: hidden}.ln-track i{display: block;height: 100%;background: var(--muted);border-radius: 5px;transition: width .2s ease}.lane.me .ln-track i{background: var(--accent)}.lane.ghost .ln-name,.standings li.ghost b{font-style: italic;font-weight: 450;color: var(--ink-2)}.lane.ghost .ln-track i{background: repeating-linear-gradient(90deg,var(--muted) 0 6px,transparent 6px 9px);opacity: .8}.standings li.ghost{background: transparent;border: 1px dashed var(--line)}.ln-wpm{font: 12px var(--f-mono);color: var(--ink-2);text-align: right}.lane.me{min-height: 26px}.lane.me .ln-track{position: relative;overflow: visible}.ln-camel{position: absolute;top: 50%;transform: translateY(-50%);line-height: 0;transition: left .2s ease;pointer-events: none}.race-wait{display: flex;align-items: center;gap: 12px}.tour-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 12px}.terms{white-space: normal;font-size: 14px;color: var(--ink-2)}.race-wait .mascot{flex: none}.race-wait .note{margin: 0}.standings{list-style: none;margin: 0;padding: 0;display: grid;gap: 6px}.standings li{display: grid;grid-template-columns: 34px minmax(0,1fr) auto;gap: 10px;align-items: center;padding: 8px 10px;border-radius: 8px;background: var(--surface-2)}.standings li.me{background: var(--accent-soft)}.place{font: 600 13px var(--f-mono);color: var(--accent)}.plans{display: grid;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: 16px;align-items: start}.plan.featured{border-color: var(--accent);box-shadow: 0 0 0 1px var(--accent),var(--shadow)}.price{margin: 0;font: 700 28px/1.1 var(--f-ui);letter-spacing: -.01em}.price .note{font-size: 13px;font-weight: 400;letter-spacing: 0}.feat{margin: 0;padding-left: 18px;display: grid;gap: 5px;font-size: 14px;color: var(--ink-2)}.pay-buttons{display: flex;flex-wrap: wrap;gap: 8px}.gates{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px}.gate{gap: 6px}.gate b{font: 700 30px/1.1 var(--f-ui)}.gate.ok{border-color: var(--good)}.gate .status{width: fit-content;margin-left: 0}.decision{margin: 0;padding: 12px 16px;border-radius: 10px;background: var(--surface-2);font-size: 14px}.spark.wide svg{max-width: 100%}.coach .insights li{grid-template-columns: 26px minmax(0,1fr)}@media (max-width: 860px){.auth-grid,.class-grid,.acct-grid,.rank-grid{grid-template-columns: 1fr}.gates{grid-template-columns: 1fr}}@media (max-width: 640px){.task{grid-template-columns: minmax(0,1fr) auto}.task .lbest{grid-column: 1}.lane{grid-template-columns: 70px minmax(0,1fr) 56px}}.av{--av: 32px;width: var(--av);height: var(--av);flex: none;border-radius: 50%;display: inline-grid;place-items: center;color: #fff;font: 650 calc(var(--av) * .44)/1 var(--f-ui);object-fit: cover;background: var(--surface-2);user-select: none}.av svg{width: 56%;height: 56%}img.av{box-shadow: inset 0 0 0 1px var(--rule)}.stat-chip.who{gap: 7px;padding-left: 5px}.who-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 16ch}.who-wrap{position: relative}button.stat-chip{cursor: pointer}button.stat-chip:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.who-caret{color: var(--muted);flex: none}.who-menu{position: absolute;right: 0;top: calc(100% + 6px);z-index: 40;min-width: 200px;display: grid;padding: 6px;border: 1px solid var(--rule);border-radius: 10px;background: var(--surface);box-shadow: 0 8px 28px rgba(22,25,31,.14)}.who-menu-head{margin: 0;padding: 6px 10px 8px;border-bottom: 1px solid var(--rule);margin-bottom: 4px;font-size: 12.5px;color: var(--muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.who-menu-head b{color: var(--ink);font-weight: 600}.who-menu a,.who-menu button{display: block;width: 100%;text-align: left;padding: 8px 10px;border: 0;border-radius: 6px;background: none;color: var(--ink);font: 500 14px/1.3 var(--f-ui);text-decoration: none;cursor: pointer}.who-menu a:hover,.who-menu button:hover,.who-menu a:focus-visible,.who-menu button:focus-visible{background: var(--surface-2);outline: none}.who-menu a:focus-visible,.who-menu button:focus-visible{box-shadow: inset 0 0 0 2px var(--accent)}.who-menu button{margin-top: 4px;border-top: 1px solid var(--rule);border-radius: 0 0 6px 6px;color: var(--error)}.who-link{display: inline-flex;align-items: center;gap: 8px;color: var(--ink);text-decoration: none;min-width: 0;max-width: 100%}.who-link:hover .who-name{text-decoration: underline;text-underline-offset: 2px}.who-link:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px;border-radius: 6px}.flag{font-size: 15px;line-height: 1}.prof-head{display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: 14px 20px;align-items: center}.prof-av{--av: 88px}.prof-id{display: grid;gap: 4px;min-width: 0}.prof-id h1{margin: 0;font: 700 28px/1.15 var(--f-ui);letter-spacing: -.015em;overflow-wrap: anywhere}.prof-meta{margin: 0;font-size: 13.5px;color: var(--ink-2)}.prof-bio{margin: 2px 0 0;font-size: 14.5px;color: var(--ink);max-width: 60ch;overflow-wrap: anywhere}.prof-actions{justify-content: flex-end}.badges{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 16px 6px}.badge{--m: 64px;position: relative;width: 86px;min-width: 0;padding: 4px 2px 6px;border-radius: 12px;display: grid;justify-items: center;align-content: start;gap: 2px;text-align: center}.badge{--t-hi: #fbd9b6;--t-lo: #9a552a;--t-shine: #fde6cf;--t-face: #e2a067;--t-deep: #b26a36;--t-ink: #4a2006;--t-glow: rgba(154,85,42,.5)}.badge.t-silver{--t-hi: #ffffff;--t-lo: #7e8a9b;--t-shine: #ffffff;--t-face: #d6dde6;--t-deep: #a1adbc;--t-ink: #222c3a;--t-glow: rgba(90,104,124,.45)}.badge.t-gold{--t-hi: #fff4bf;--t-lo: #ad7c06;--t-shine: #fff9dc;--t-face: #f8d052;--t-deep: #dba11a;--t-ink: #4f3200;--t-glow: rgba(196,140,10,.55)}.badge.t-platinum{--t-hi: #edfcff;--t-lo: #318aa3;--t-shine: #f5feff;--t-face: #ade6f2;--t-deep: #66bfd4;--t-ink: #06384a;--t-glow: rgba(49,138,163,.5)}.badge.t-diamond{--t-hi: #f7efff;--t-lo: #6c48d6;--t-shine: #ffffff;--t-face: #d6c6ff;--t-deep: #a183f6;--t-ink: #29106a;--t-glow: rgba(108,72,214,.55)}.medal{position: relative;width: var(--m);height: var(--m);display: grid;isolation: isolate;transition: transform .2s ease}.m-face{position: relative;z-index: 1;overflow: hidden;border-radius: 50%;border: 4px solid transparent;display: grid;place-content: center;justify-items: center;gap: 1px;color: var(--t-ink);background: radial-gradient(circle at 34% 26%,var(--t-shine) 0,var(--t-face) 46%,var(--t-deep) 100%) padding-box,conic-gradient(from 210deg,var(--t-hi),var(--t-lo) 22%,var(--t-hi) 47%,var(--t-lo) 73%,var(--t-hi)) border-box;box-shadow: inset 0 2px 2px rgba(255,255,255,.6),inset 0 -3px 5px rgba(0,0,0,.13),0 5px 12px -4px var(--t-glow),0 1px 2px rgba(0,0,0,.14)}.badge.t-diamond .m-face{background: radial-gradient(circle at 34% 26%,var(--t-shine) 0,var(--t-face) 46%,var(--t-deep) 100%) padding-box,conic-gradient(from 210deg,#ffd9f4,#7b57e0 20%,#a8e6ff 40%,#8f6cf0 60%,#ffd9f4 80%,#6c48d6 90%,#ffd9f4) border-box}.m-face::after{content: "";position: absolute;inset: -30%;pointer-events: none;transform: translateX(-110%);background: linear-gradient(110deg,transparent 40%,rgba(255,255,255,.8) 50%,transparent 60%)}.m-icon{width: 15px;height: 15px;opacity: .78}.m-face b{font: 750 19px/1 var(--f-ui);letter-spacing: -.02em;text-shadow: 0 1px 0 rgba(255,255,255,.55);white-space: nowrap}.m-face b small{font-size: .62em;font-weight: 700;margin-left: 1px}.medal.long .m-face b{font-size: 15.5px}.b-name{margin-top: 5px;font: 600 12px/1.25 var(--f-ui);color: var(--ink);overflow-wrap: anywhere;text-wrap: balance}.b-left{font: 600 11px/1.25 var(--f-ui);color: var(--accent);text-wrap: balance}.badge.locked .m-face{color: var(--muted);box-shadow: none}.badge.locked .m-face b{text-shadow: none;font-weight: 650}.badge.locked .b-name{color: var(--muted);font-weight: 500}.badge.next .m-face{color: var(--ink-2);background: linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(var(--accent) calc(var(--p,0) * 1%),color-mix(in oklab,var(--accent) 16%,var(--rule)) 0) border-box}.badge.next .b-name{color: var(--ink-2)}.badge.locked:not(.next) .m-face{border: 2px dashed var(--axis);background: none}.badge.locked:not(.next) .m-icon{opacity: .6}.m-lock{position: absolute;z-index: 2;right: -3px;bottom: -3px;width: 22px;height: 22px;border-radius: 50%;display: grid;place-items: center;background: var(--surface);color: var(--muted);box-shadow: inset 0 0 0 1.5px var(--axis)}.m-lock svg{width: 11px;height: 11px}.b-bar{height: 6px;margin-top: -6px;border-radius: 3px;background: var(--surface-2);overflow: hidden}.b-bar i{display: block;height: 100%;border-radius: inherit;background: var(--accent)}.b-count b{font-weight: 700;color: var(--ink)}.b-groups{display: flex;flex-wrap: wrap;gap: 20px 30px}.b-group{display: grid;gap: 2px;align-content: start;min-width: 0}.b-group h4 span{margin-left: 4px;color: var(--ink-2)}.b-groups:not(.all) .badge.later{display: none}.b-foot{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 8px 20px}.b-more{flex: none;padding: 0;border: 0;background: none;cursor: pointer;font: 600 13.5px/1.3 var(--f-ui);color: var(--accent)}.b-more:hover{text-decoration: underline;text-underline-offset: 2px}.b-more:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px;border-radius: 4px}.badges li.badge.shareable{cursor: pointer}.badges li.badge.shareable:hover .medal{transform: translateY(-3px)}.badges li.badge.shareable:hover .m-face::after{animation: m-shine .9s ease-out}.badges li.badge.shareable:focus-visible{outline: 2px solid var(--accent);outline-offset: 0}.badges li.badge.highlight{background: var(--accent-soft);box-shadow: 0 0 0 2px var(--accent)}.new-badges{border-color: var(--accent);box-shadow: 0 0 0 1px var(--accent),var(--shadow)}.new-badges .badges{display: grid;grid-template-columns: repeat(auto-fill,minmax(96px,1fr))}.new-badges .badge{width: auto}.new-badges .medal{animation: m-pop .6s cubic-bezier(.2,.9,.3,1.35) both}.new-badges .m-face::after{animation: m-shine 1.1s .5s ease-out both}.new-badges .badge:nth-child(2) .medal,.new-badges .badge:nth-child(2) .m-face::after{animation-delay: .12s}.new-badges .badge:nth-child(3) .medal,.new-badges .badge:nth-child(3) .m-face::after{animation-delay: .24s}.new-badges .badge:nth-child(n+4) .medal,.new-badges .badge:nth-child(n+4) .m-face::after{animation-delay: .36s}@keyframes m-pop{from{opacity: 0;transform: scale(.4) rotate(-12deg)}}@keyframes m-shine{from{transform: translateX(-110%)}to{transform: translateX(110%)}}@media (prefers-reduced-motion: reduce){.medal,.new-badges .medal,.m-face::after,.new-badges .m-face::after,.badges li.badge.shareable:hover .m-face::after{animation: none;transition: none}}.tbl.hist td{white-space: nowrap}.lede a,.note a,.foot-note a{color: var(--accent)}.lang-list{list-style: none;margin: -6px 0 0;padding: 0;display: grid;gap: 6px;font-size: 14px}.lang-list li{display: flex;justify-content: space-between;gap: 10px}.stack{display: grid;gap: 16px;align-content: start}.av-edit{display: flex;flex-wrap: wrap;align-items: center;gap: 12px 18px}.av-actions{display: grid;gap: 8px;justify-items: start}.file-btn{position: relative;cursor: pointer}.file-btn input{position: absolute;inset: 0;width: 100%;height: 100%;opacity: 0;cursor: pointer}.file-btn:focus-within{outline: 2px solid var(--accent);outline-offset: 2px}.av-pick{border: 0;margin: 0;padding: 0;display: grid;gap: 10px;min-width: 0}.av-pick legend{padding: 0;margin-bottom: 8px}.av-icons,.av-colors{display: flex;flex-wrap: wrap;gap: 6px}.av-opt{padding: 2px;border: 2px solid transparent;border-radius: 50%;background: none;cursor: pointer;line-height: 0}.av-opt:hover{border-color: var(--axis)}.av-opt[aria-pressed="true"]{border-color: var(--accent)}.swatch{width: 26px;height: 26px;border-radius: 50%;border: 0;cursor: pointer;box-shadow: 0 0 0 2px var(--surface),0 0 0 3px transparent}.swatch[aria-pressed="true"]{box-shadow: 0 0 0 2px var(--surface),0 0 0 4px var(--ink)}.av-opt:focus-visible,.swatch:focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.field textarea{font: 400 14px/1.4 var(--f-ui);color: var(--ink);background: var(--surface);border: 1px solid var(--field);border-radius: 9px;padding: 10px 12px;width: 100%;resize: vertical;min-height: 44px}.field textarea:hover{border-color: var(--ink-2)}.field textarea:focus-visible{outline: 2px solid var(--accent);outline-offset: 1px;border-color: transparent}.field .select select{width: 100%}.field-msg{font-size: 12.5px;min-height: 1em}.field-msg:empty{display: none}.field-msg.ok{color: var(--good)}.field-msg.bad{color: var(--error)}#profForm .field,#emailForm .field,#pwForm .field,#googleForm .field{max-width: 420px}@media (max-width: 640px){.prof-head{grid-template-columns: auto minmax(0,1fr)}.prof-av{--av: 64px}.prof-id h1{font-size: 22px}.prof-actions{grid-column: 1 / -1;justify-content: flex-start}.badge{--m: 56px;width: auto}.b-group{flex: 1 1 100%}.badges,.new-badges .badges{display: grid;grid-template-columns: repeat(auto-fill,minmax(66px,1fr));gap: 14px 4px}.stat-chip.who{padding: 4px}.stat-chip.who .who-name,.stat-chip.who .pro{display: none}}@media (max-width: 420px){.brand .tag{display: none}}.site-links{max-width: 1000px;margin: -12px auto 24px;padding-top: 16px;border-top: 1px solid var(--rule);display: flex;flex-wrap: wrap;gap: 6px 16px;font-size: 12.5px}.site-links a{color: var(--muted)}.site-links a[aria-current="page"]{color: var(--ink);text-decoration: none}body.typing .site-links{opacity: 0;pointer-events: none}.home-intro{max-width: 1000px;margin: -12px auto 20px;font-size: 14px;color: var(--ink-2);transition: opacity .25s ease}.home-intro h1{margin: 0 0 8px;font-size: 18px;line-height: 1.3;font-weight: 600;color: var(--ink)}.home-intro p{margin: 0 0 8px;max-width: 80ch}.home-popular{list-style: none;margin: 12px 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.home-popular a{display: inline-block;padding: 4px 12px;border: 1px solid var(--rule);border-radius: 999px;background: var(--surface);color: var(--ink-2);font-size: 13px;text-decoration: none}.home-popular a:hover{border-color: var(--accent);color: var(--accent)}.home-intro + .site-links{margin-top: 0}body.typing .home-intro{opacity: 0;pointer-events: none}body[data-view]:not([data-view="test"]) .home-intro{display: none}.page-intro{display: grid;gap: 12px;font-size: 15px;line-height: 1.65}.page-intro h1{margin: 0;font-size: 22px;line-height: 1.25;letter-spacing: -.01em}.page-intro h2{margin: 10px 0 0;font-size: 17px;line-height: 1.35;font-weight: 650;color: var(--ink)}.page-intro p,.page-intro li{margin: 0;max-width: 72ch}.page-intro .lede{font-size: 16px;color: var(--ink-2)}.page-intro ul,.page-intro ol{margin: 0;padding-left: 22px;display: grid;gap: 6px}.page-intro a{color: var(--accent);text-underline-offset: 2px}.page-intro .crumbs{font-size: 12.5px;color: var(--muted)}.page-intro .crumbs a{color: var(--muted)}.page-intro .faq{display: grid}.page-intro .faq h2{margin-bottom: 6px}.page-intro .faq details{border-top: 1px solid var(--rule);padding: 10px 0}.page-intro .faq details:last-child{border-bottom: 1px solid var(--rule)}.page-intro .faq summary{font-weight: 600;color: var(--ink);cursor: pointer}.page-intro .faq details p{margin-top: 6px}.page-intro .related ul{list-style: none;margin-top: 8px;padding: 0;display: flex;flex-wrap: wrap;gap: 8px}.page-intro .related a{display: inline-block;padding: 4px 12px;border: 1px solid var(--rule);border-radius: 999px;background: var(--surface);color: var(--ink-2);font-size: 13px;text-decoration: none}.page-intro .related a:hover{border-color: var(--accent);color: var(--accent)}.modal.sh-sheet{width: min(640px,100%);gap: 12px}.sh-pic{position: relative;border-radius: 10px;overflow: hidden;border: 1px solid var(--rule);background: var(--surface-2);aspect-ratio: 1200 / 630}.sh-pic img{display: block;width: 100%;height: 100%;object-fit: contain}.sh-pic.tall{aspect-ratio: auto;height: min(46vh,400px)}.sh-pic video{display: block;width: 100%;height: 100%;object-fit: contain;background: #0b0d10}.sh-pic .sh-wait{padding: 0 16px;text-align: center}.sh-sizes{align-self: flex-start}.sr-taken{margin: 8px 0 0;font-size: 14px;color: var(--ink-2)}.sr-vs-more:empty{display: none}.sh-wait{position: absolute;inset: 0;display: grid;place-items: center;font-size: 13px;color: var(--muted)}.sh-msg textarea{width: 100%;box-sizing: border-box;resize: vertical;min-height: 54px;font: 15px/1.4 var(--f-ui);color: var(--ink);background: var(--surface);border: 1px solid var(--field);border-radius: 10px;padding: 10px 12px}.sh-msg textarea:focus{outline: 2px solid var(--accent);outline-offset: 1px}.sh-link{margin: -4px 0 0;font: 13px/1.3 var(--f-mono);color: var(--ink-2);min-height: 1em;overflow-wrap: anywhere}.sh-link:empty{display: none}.sh-link a{color: var(--accent)}.sh-main{padding-block: 0}.sh-main .btn[aria-disabled="true"]{opacity: .55;pointer-events: none}.sh-label{margin: 2px 0 -2px;font: 500 10.5px/1 var(--f-mono);text-transform: uppercase;letter-spacing: .07em;color: var(--muted)}.sh-apps{display: flex;flex-wrap: wrap;gap: 4px 6px}.sh-more{display: contents}.sh-more[hidden]{display: none}.sh-app{display: grid;justify-items: center;gap: 5px;width: 72px;padding: 6px 2px;border: 0;border-radius: 10px;background: transparent;color: var(--ink-2);font: 12.5px/1.2 var(--f-ui);cursor: pointer}.sh-app:hover{background: var(--surface-2);color: var(--ink)}.sh-app i{display: grid;place-items: center;width: 44px;height: 44px;border-radius: 50%;background: var(--surface-2);font: 700 16px/1 var(--f-ui);font-style: normal;color: var(--ink)}.sh-app:hover i{background: var(--accent-soft);color: var(--accent)}.sh-foot{border-top: 1px solid var(--rule);padding-top: 10px}.linkish{border: 0;background: none;padding: 0;font: inherit;color: var(--accent);text-decoration: underline;cursor: pointer}.rs-share-pb{padding: 6px 11px;border-radius: 999px}.sr{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);gap: 18px;align-items: start}.sr-card{background: var(--surface);border: 1px solid var(--rule);border-radius: 14px;padding: 22px 24px;display: grid;gap: 12px;box-shadow: var(--shadow)}.sr-who{margin: 0;display: flex;align-items: center;gap: 12px;font: 600 16px/1.3 var(--f-ui);color: var(--ink-2)}.sr-who a{color: var(--ink)}.sr-score{margin: 0;display: flex;align-items: baseline;gap: 10px;color: var(--accent)}.sr-num{font: 700 112px/.85 var(--f-ui);letter-spacing: -.04em;font-variant-numeric: tabular-nums}.sr-unit{font: 600 26px/1 var(--f-mono);color: var(--ink-2)}.sr-meta{margin: 0;font-size: 15px;color: var(--ink-2)}.sr-meta b{color: var(--ink)}.sr-pb{margin: 0;justify-self: start;font: 600 13px/1 var(--f-ui);padding: 7px 12px;border-radius: 999px;background: var(--warn-soft);color: var(--warn-ink)}.sr-check{margin: 0;display: flex;gap: 10px;font-size: 13.5px;color: var(--ink-2);background: var(--good-soft);border-radius: 10px;padding: 10px 12px}.sr-check b{color: var(--ink)}.sr-tick{flex: none;display: grid;place-items: center;width: 20px;height: 20px;border-radius: 50%;background: var(--good);color: #fff;font-size: 12px;font-weight: 700}.sr-actions .btn.primary{font-size: 15px;padding: 13px 20px}.sr-side{display: grid;gap: 14px}.sr-fig{margin: 0}.sr-fig figcaption{font-size: 13.5px;color: var(--ink-2)}.sr-fig h3{margin: 0;font: 650 15px/1.3 var(--f-ui)}.sr-foot{grid-column: 1 / -1}.sr-gone{grid-template-columns: minmax(0,560px)}.sr-gone h1{margin: 0;font: 700 24px/1.25 var(--f-ui)}@media (max-width: 760px){.sr{grid-template-columns: minmax(0,1fr)}.sr-num{font-size: 88px}}.sr-vs{border-color: var(--accent);background: var(--accent-soft);gap: 10px}.sr-vs.won{border-color: var(--good);background: var(--good-soft)}.sr-vs-line{margin: 0;font-size: 16px;color: var(--ink)}.sr-vs .actions{padding: 0}.rep-why{border: 0;padding: 0;margin: 0;display: grid;gap: 8px}.radio{display: flex;align-items: center;gap: 8px;font-size: 14px}.privacy-pick{border: 0;padding: 0;margin: 0;display: grid;gap: 8px}.privacy-pick .radio{align-items: flex-start;line-height: 1.35}.privacy-pick .radio input{margin-top: 2px;flex: none}.privacy-ask{border-color: var(--accent)}.row-actions{white-space: nowrap;display: flex;gap: 6px}.skip-link{position: absolute;left: 12px;top: -60px;z-index: 1000;padding: 10px 14px;border-radius: 9px;background: var(--accent);color: var(--accent-ink);font: 600 14px var(--f-ui);text-decoration: none}.skip-link:focus{top: 12px;outline: 2px solid var(--ink);outline-offset: 2px}.daily-grid-2{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.4fr);gap: 16px;align-items: start}.daily-today .btn.big{font-size: 16px;padding: 12px 20px}.daily-score{font-size: 15px;margin: 4px 0 10px}.daily-score b:first-child{font: 650 34px/1 var(--f-mono);margin-right: 2px}.daily-grid{display: inline-flex;gap: 3px;vertical-align: middle}.daily-today .daily-grid,.daily-result .daily-grid{gap: 5px;margin: 4px 0 6px}.dq{display: block;width: 12px;height: 12px;border-radius: 3px;background: var(--surface-2)}.daily-today .dq,.daily-result .dq{width: 22px;height: 22px;border-radius: 5px}.dq-g{background: #2e9e5b}.dq-y{background: #e0b12c}.dq-r{background: #d4483f}.daily-streak{margin: 10px 0 0}.daily-how .feat{margin: 0}.daily-share{font: 15px/1.6 var(--f-mono);white-space: pre-wrap;background: var(--surface-2);border-radius: 8px;padding: 12px 14px;margin: 8px 0 12px}@media (max-width: 760px){.daily-grid-2{grid-template-columns: minmax(0,1fr)}}body[data-view="daily"] .home-intro[data-view-intro="daily"]{display: grid}.lang-links{max-width: 1000px;margin: -14px auto 24px;display: flex;flex-wrap: wrap;gap: 6px 12px;font-size: 12.5px}.lang-links a{color: var(--muted)}body.typing .lang-links{opacity: 0;pointer-events: none}.cert-rules{margin: 0;padding-left: 20px;display: grid;gap: 6px;color: var(--ink-2);font-size: 14.5px}.cert-failed{color: var(--error)}.cert-hint{margin: 10px 0 0}.cert-page{display: grid;gap: 16px;max-width: 860px;margin: 0 auto}.cert-sheet{background: #fff;color: #16191f;border: 1px solid #d5dbe0;border-radius: 6px;box-shadow: var(--shadow);outline: 4px double #0d6b60;outline-offset: -16px;padding: 48px 56px 40px;text-align: center;display: grid;gap: 12px}.cert-sheet > *{margin: 0}.cert-brand{display: inline-flex;align-items: center;justify-content: center;gap: 9px;font: 700 18px/1 var(--f-ui);color: #16191f}.cert-brand .mark{flex: none;width: 10px;height: 19px;border-radius: 3px;background: #0d6b60}.cert-kicker{font: 600 13px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .14em;color: #0d6b60;margin-top: 10px}.cert-intro{font: 400 17px/1.45 Georgia,"Times New Roman",serif;color: #4a505c}.cert-name{font: 400 clamp(28px,5vw,42px)/1.15 Georgia,"Times New Roman",serif;color: #16191f;justify-self: center;border-bottom: 1px solid #9fb3b0;padding: 4px 28px 10px;overflow-wrap: anywhere}.cert-nums{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 10px;margin: 8px 0 4px}.cert-nums div{border: 1px solid #e3e7eb;border-radius: 10px;padding: 12px 8px}.cert-nums dt{font: 600 11.5px/1.2 var(--f-mono);text-transform: uppercase;letter-spacing: .08em;color: #737a86}.cert-nums dd{margin: 6px 0 0;font: 700 28px/1 var(--f-ui);color: #0d6b60;font-variant-numeric: tabular-nums}.cert-nums dd small{font: 600 13px/1 var(--f-mono);color: #4a505c}.cert-line{font-size: 15px;color: #4a505c;display: flex;gap: 10px;justify-content: center;align-items: center}.cert-line.met{color: #0a554d;font-weight: 600}.cert-tick{flex: none;display: grid;place-items: center;width: 22px;height: 22px;border-radius: 50%;background: #0d6b60;color: #fff;font-size: 13px}.cert-check,.cert-meta{font-size: 13px;line-height: 1.5;color: #4a505c;max-width: 620px;justify-self: center}.cert-foot{font: 400 12.5px/1.4 var(--f-mono);color: #4a505c;border-top: 1px solid #e3e7eb;padding-top: 12px;margin-top: 4px;overflow-wrap: anywhere}.cert-foot b{color: #16191f}.cert-tools .actions{justify-content: center}.cert-tools > .note{text-align: center}.cert-li{margin-top: 10px;background: var(--surface);border: 1px solid var(--rule);border-radius: 10px;padding: 10px 14px}.cert-li summary{cursor: pointer;font-size: 14px;color: var(--ink-2)}.cert-fields{margin: 10px 0 0;display: grid;gap: 8px}.cert-fields div{display: grid;grid-template-columns: 150px minmax(0,1fr);gap: 10px;align-items: center}.cert-fields dt{font-size: 13px;color: var(--muted)}.cert-fields dd{margin: 0;display: flex;gap: 8px;align-items: center;justify-content: space-between;min-width: 0}.cert-fields dd span{overflow-wrap: anywhere;font-size: 14px}@media (max-width: 640px){.cert-sheet{padding: 36px 26px 30px;outline-offset: -10px}.cert-nums{grid-template-columns: repeat(2,minmax(0,1fr))}.cert-nums dd{font-size: 22px}.cert-fields div{grid-template-columns: minmax(0,1fr);gap: 2px}}@media print{body[data-view="cert"] *{visibility: hidden}body[data-view="cert"] #certSheet,body[data-view="cert"] #certSheet *{visibility: visible}body[data-view="cert"] #certSheet{position: absolute;left: 0;top: 0;width: 100%;box-shadow: none;border: 0;-webkit-print-color-adjust: exact;print-color-adjust: exact}}body[data-embed] .tabs,body[data-embed] .gear,body[data-embed] .me-bar,body[data-embed] .site-links,body[data-embed] .lang-links,body[data-embed] .home-intro,body[data-embed] .site-foot,body[data-embed] footer{display: none}body[data-embed] .top{grid-template-columns: minmax(0,1fr)}body[data-embed] #app{padding-top: 12px}.pulse{margin: 0 0 6px;font-size: 13px;color: var(--ink-2)}.pulse a{color: inherit}.suggest{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px 14px;margin: 0 0 14px;padding: 10px 14px;border: 1px solid var(--rule);border-radius: 10px;background: var(--accent-soft)}.suggest p{margin: 0;font-size: 14.5px}.suggest .actions{margin: 0}.league-group tr.up td:first-child{box-shadow: inset 3px 0 0 var(--good)}.league-group tr.down td:first-child{box-shadow: inset 3px 0 0 var(--error)}.league-group tr.me td{font-weight: 650}.tiers li.here{font-weight: 650}.tiers li.here::after{content: '←';margin-left: 6px;color: var(--muted)}.plan-line{stroke: var(--muted);stroke-width: 1.5;stroke-dasharray: 5 5;fill: none}.goal-chart{margin: 6px 0 4px}.goal-chart svg{width: 100%;height: auto;display: block}
