@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-cyrillic-ext-400-normal-FAIU8e3o.woff2)format("woff2"),url(/assets/fira-mono-cyrillic-ext-400-normal-Co4MVjrD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-cyrillic-400-normal-BJkDdjbt.woff2)format("woff2"),url(/assets/fira-mono-cyrillic-400-normal-DUd3efVn.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-greek-ext-400-normal-Be4g_LSk.woff2)format("woff2"),url(/assets/fira-mono-greek-ext-400-normal-BQ5yw6bY.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-greek-400-normal-ftNhKy_S.woff2)format("woff2"),url(/assets/fira-mono-greek-400-normal-B_0AmgK7.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-symbols2-400-normal-C6JptOil.woff2)format("woff2"),url(/assets/fira-mono-symbols2-400-normal-CpeG9ob9.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-latin-ext-400-normal-B2gPvaNr.woff2)format("woff2"),url(/assets/fira-mono-latin-ext-400-normal-CbD3vWRE.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-latin-400-normal-DVTTRLHv.woff2)format("woff2"),url(/assets/fira-mono-latin-400-normal-C3FQ26ho.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-ext-400-normal-B-EsvyE4.woff2)format("woff2"),url(/assets/courier-prime-latin-ext-400-normal-CKOCNFvK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-400-normal-BbyBr73r.woff2)format("woff2"),url(/assets/courier-prime-latin-400-normal-BAlbUm6l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-mono-latin-ext-400-normal-CpVFOiMk.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-mono-latin-ext-400-normal-ITMuFrSK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-mono-latin-400-normal-CmMGer93.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-mono-latin-400-normal-Cmjm2dBj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/opendyslexic-latin-400-normal-nUhe5EwG.woff2)format("woff2"),url(/assets/opendyslexic-latin-400-normal-Cv3YY6GF.woff)format("woff")}:root{--font-jetbrains:"JetBrains Mono", ui-monospace, monospace;--font-plex:"IBM Plex Mono", ui-monospace, monospace;--font-fira:"Fira Mono", ui-monospace, monospace;--font-courier:"Courier Prime", "Courier New", monospace;--font-atkinson:"Atkinson Hyperlegible Mono", ui-monospace, monospace;--font-dyslexic:"OpenDyslexic", sans-serif;--font-system-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-size-ui:.875rem;--font-size-test:1.75rem;--font-size-result:3rem;--line-height-test:1.6;--font-size-letter-focus:2.5rem;--font-size-chart:.6875rem;--font-size-hesitation:1.125rem;--font-size-key:.75rem;--font-size-key-small:.5625rem;--radius-pill:999px;--radius-kbd:4px;--radius-letter:6px;--radius-bar:4px;--size-letter:1.875rem;--size-icon:1.25rem;--size-bar-height:.5rem;--width-bar:12rem;--width-bar-label:5.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:2rem;--space-5:4rem;--width-content:60rem;--caret-width:2px;--focus-ring-width:2px;--underline-thickness:1px;--typing-gutter:0px;--key-size:34px;--key-gap:4px;--key-radius:6px;--key-radius-wide:6px;--key-border-width:1px;--key-locked-opacity:.35;--duration-caret:80ms;--duration-fade:.15s;--duration-popover:.16s;--duration-slide:.22s;--ease-slide:cubic-bezier(.22, 1, .36, 1);--duration-line-feed:.14s;--duration-key-press:60ms;--key-pressed-offset:1px}@media (prefers-reduced-motion:reduce){:root,:root[data-theme]{--duration-caret:0s;--duration-fade:0s;--duration-popover:0s;--duration-slide:0s;--duration-line-feed:0s;--duration-key-press:0s}}:root,:root[data-theme=minimal]{--font-theme:var(--font-plex);--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}:root[data-theme=papel]{--font-theme:var(--font-courier);--font-ui:Georgia, "Times New Roman", serif;--key-size:36px;--key-gap:6px;--key-radius:50%;--key-radius-wide:999px;--key-border-width:2px;--key-pressed-offset:3px;--duration-line-feed:.26s}:root[data-theme=editor]{--font-theme:var(--font-jetbrains);--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--typing-gutter:3rem;--key-radius:4px;--key-radius-wide:4px}:root[data-theme=contraste]{--font-theme:var(--font-atkinson);--font-ui:"Atkinson Hyperlegible Mono", system-ui, sans-serif;--font-size-ui:1rem;--font-size-test:2.25rem;--font-size-key:.875rem;--caret-width:3px;--focus-ring-width:3px;--underline-thickness:3px;--key-size:40px;--key-border-width:2px;--key-locked-opacity:.5}:root,:root[data-theme=minimal][data-mode=light]{--color-bg:#fafafa;--color-ide-bg:#f1f1f1;--color-surface:#fafafa;--color-text:#1a1a1a;--color-text-dim:#6b6b6b;--color-error:#c62828;--color-accent-missed:#8a6100;--color-caret:#1a1a1a;--color-pill-bg:#f0f0f0;--color-pill-text:#4a4a4a;--color-pill-border:#8f8f8f;--color-pill-bg-active:#1a1a1a;--color-pill-text-active:#fafafa;--color-focus-ring:#1a1a1a;--color-border:#e0e0e0;--color-gutter:#6b6b6b;--color-mastery-0-bg:#ececec;--color-mastery-0-text:#1a1a1a;--color-mastery-1-bg:#d4d4d4;--color-mastery-1-text:#1a1a1a;--color-mastery-2-bg:#a8a8a8;--color-mastery-2-text:#1a1a1a;--color-mastery-3-bg:#6b6b6b;--color-mastery-3-text:#fafafa;--color-mastery-4-bg:#1a1a1a;--color-mastery-4-text:#fafafa;--color-mastery-none-bg:transparent;--color-mastery-none-text:#1a1a1a;--color-mastery-locked-border:#8f8f8f;--color-mastery-locked-text:#6b6b6b;--color-bar-track:#ececec;--color-bar-fill:#1a1a1a;--color-bar-mark:#c62828;--color-chart-line:#1a1a1a;--color-chart-grid:#ececec;--color-chart-axis:#6b6b6b;--color-chart-ref:#6b6b6b;--color-tooltip-bg:#1a1a1a;--color-tooltip-text:#fafafa;--color-doubt-text:#1a1a1a;--color-doubt-1-bg:#ffe9a8;--color-doubt-2-bg:#ffcf66;--color-heat-0-bg:#f2f2f2;--color-heat-0-text:#1a1a1a;--color-heat-1-bg:#f6d5d5;--color-heat-1-text:#1a1a1a;--color-heat-2-bg:#ec9f9f;--color-heat-2-text:#1a1a1a;--color-heat-3-bg:#c62828;--color-heat-3-text:#fafafa;--color-heat-4-bg:#7f1717;--color-heat-4-text:#fafafa;--key-bg:#fafafa;--key-text:#4a4a4a;--key-text-dim:#6b6b6b;--key-border:#d0d0d0;--key-shadow:none;--key-next-bg:#1a1a1a;--key-next-text:#fafafa;--key-pressed-bg:#e0e0e0;--key-focus-ring:#c62828;--key-home-mark:#6b6b6b}:root[data-theme=minimal][data-mode=dark]{--color-bg:#141414;--color-ide-bg:#1d1d1d;--color-surface:#141414;--color-text:#ececec;--color-text-dim:#9a9a9a;--color-error:#ff6b6b;--color-accent-missed:#e2b340;--color-caret:#ececec;--color-pill-bg:#222;--color-pill-text:#c4c4c4;--color-pill-border:#6e6e6e;--color-pill-bg-active:#ececec;--color-pill-text-active:#141414;--color-focus-ring:#ececec;--color-border:#2e2e2e;--color-gutter:#9a9a9a;--color-mastery-0-bg:#262626;--color-mastery-0-text:#ececec;--color-mastery-1-bg:#3d3d3d;--color-mastery-1-text:#ececec;--color-mastery-2-bg:#6e6e6e;--color-mastery-2-text:#fff;--color-mastery-3-bg:#a8a8a8;--color-mastery-3-text:#141414;--color-mastery-4-bg:#ececec;--color-mastery-4-text:#141414;--color-mastery-none-bg:transparent;--color-mastery-none-text:#ececec;--color-mastery-locked-border:#6e6e6e;--color-mastery-locked-text:#9a9a9a;--color-bar-track:#262626;--color-bar-fill:#ececec;--color-bar-mark:#ff6b6b;--color-chart-line:#ececec;--color-chart-grid:#262626;--color-chart-axis:#9a9a9a;--color-chart-ref:#9a9a9a;--color-tooltip-bg:#ececec;--color-tooltip-text:#141414;--color-doubt-text:#ececec;--color-doubt-1-bg:#3d3520;--color-doubt-2-bg:#5c4b1d;--color-heat-0-bg:#1c1c1c;--color-heat-0-text:#ececec;--color-heat-1-bg:#3a2222;--color-heat-1-text:#ececec;--color-heat-2-bg:#6b2c2c;--color-heat-2-text:#fff;--color-heat-3-bg:#b83a3a;--color-heat-3-text:#fff;--color-heat-4-bg:#ff6b6b;--color-heat-4-text:#141414;--key-bg:#141414;--key-text:#c4c4c4;--key-text-dim:#9a9a9a;--key-border:#3a3a3a;--key-shadow:none;--key-next-bg:#ececec;--key-next-text:#141414;--key-pressed-bg:#2e2e2e;--key-focus-ring:#ff6b6b;--key-home-mark:#9a9a9a}:root[data-theme=papel][data-mode=light]{--color-bg:#d9ccae;--color-ide-bg:#f7f0e0;--color-surface:#f7f0e0;--color-text:#2a241c;--color-text-dim:#5e5342;--color-error:#a3301b;--color-accent-missed:#7a5200;--color-caret:#a3301b;--color-pill-bg:#ece2cb;--color-pill-text:#3d3428;--color-pill-border:#6e6150;--color-pill-bg-active:#2a241c;--color-pill-text-active:#f7f0e0;--color-focus-ring:#2a241c;--color-border:#c4b593;--color-gutter:#5e5342;--shadow-sheet:0 1px 0 #c4b593, 0 12px 30px #2a241c2e;--color-platen:#2a241c;--color-ruler:#5e5342;--color-ruler-pointer:#a3301b;--color-mastery-0-bg:#e6dabd;--color-mastery-0-text:#2a241c;--color-mastery-1-bg:#cdbb93;--color-mastery-1-text:#2a241c;--color-mastery-2-bg:#a8946a;--color-mastery-2-text:#1d1912;--color-mastery-3-bg:#6e5a3a;--color-mastery-3-text:#f7f0e0;--color-mastery-4-bg:#2a241c;--color-mastery-4-text:#f7f0e0;--color-mastery-none-bg:transparent;--color-mastery-none-text:#2a241c;--color-mastery-locked-border:#7a6d57;--color-mastery-locked-text:#5e5342;--color-bar-track:#e6dabd;--color-bar-fill:#2a241c;--color-bar-mark:#a3301b;--color-chart-line:#2a241c;--color-chart-grid:#e2d6ba;--color-chart-axis:#5e5342;--color-chart-ref:#5e5342;--color-tooltip-bg:#2a241c;--color-tooltip-text:#f7f0e0;--color-doubt-text:#2a241c;--color-doubt-1-bg:#ead2a0;--color-doubt-2-bg:#dbb46c;--color-heat-0-bg:#efe4cc;--color-heat-0-text:#2a241c;--color-heat-1-bg:#e5c9a8;--color-heat-1-text:#2a241c;--color-heat-2-bg:#d39c78;--color-heat-2-text:#2a241c;--color-heat-3-bg:#9c4a32;--color-heat-3-text:#f7f0e0;--color-heat-4-bg:#7a2614;--color-heat-4-text:#f7f0e0;--key-bg:#2a241c;--key-text:#f7f0e0;--key-text-dim:#cfc3a8;--key-border:#a89d86;--key-shadow:0 3px 0 #1a150f;--key-next-bg:#a3301b;--key-next-text:#f7f0e0;--key-pressed-bg:#4a4033;--key-focus-ring:#a3301b;--key-home-mark:#f7f0e0}:root[data-theme=papel][data-mode=dark]{--color-bg:#15120f;--color-ide-bg:#1e1b17;--color-surface:#29231b;--color-text:#f1e7d0;--color-text-dim:#b3a68c;--color-error:#ff8a6b;--color-accent-missed:#e8b04a;--color-caret:#ff8a6b;--color-pill-bg:#29231b;--color-pill-text:#d8ccb2;--color-pill-border:#7a6d57;--color-pill-bg-active:#f1e7d0;--color-pill-text-active:#15120f;--color-focus-ring:#f1e7d0;--color-border:#3d352a;--color-gutter:#b3a68c;--shadow-sheet:0 1px 0 #3d352a, 0 12px 30px #00000080;--color-platen:#050403;--color-ruler:#b3a68c;--color-ruler-pointer:#ff8a6b;--color-mastery-0-bg:#2f2820;--color-mastery-0-text:#f1e7d0;--color-mastery-1-bg:#4a3f30;--color-mastery-1-text:#f1e7d0;--color-mastery-2-bg:#7a6a4f;--color-mastery-2-text:#fff;--color-mastery-3-bg:#b3a68c;--color-mastery-3-text:#15120f;--color-mastery-4-bg:#f1e7d0;--color-mastery-4-text:#15120f;--color-mastery-none-bg:transparent;--color-mastery-none-text:#f1e7d0;--color-mastery-locked-border:#7a6d57;--color-mastery-locked-text:#b3a68c;--color-bar-track:#3d352a;--color-bar-fill:#f1e7d0;--color-bar-mark:#ff8a6b;--color-chart-line:#f1e7d0;--color-chart-grid:#3d352a;--color-chart-axis:#b3a68c;--color-chart-ref:#b3a68c;--color-tooltip-bg:#f1e7d0;--color-tooltip-text:#15120f;--color-doubt-text:#f1e7d0;--color-doubt-1-bg:#4a3b1c;--color-doubt-2-bg:#6b5320;--color-heat-0-bg:#29231b;--color-heat-0-text:#f1e7d0;--color-heat-1-bg:#4a2f24;--color-heat-1-text:#f1e7d0;--color-heat-2-bg:#7a3a28;--color-heat-2-text:#fff;--color-heat-3-bg:#a8452c;--color-heat-3-text:#fff;--color-heat-4-bg:#ff8a6b;--color-heat-4-text:#15120f;--key-bg:#e9dfc8;--key-text:#15120f;--key-text-dim:#4a4033;--key-border:#8a7d66;--key-shadow:0 3px 0 #000;--key-next-bg:#ff8a6b;--key-next-text:#15120f;--key-pressed-bg:#c9bc9f;--key-focus-ring:#ff8a6b;--key-home-mark:#15120f}:root[data-theme=editor][data-mode=light]{--color-bg:#fff;--color-ide-bg:#f6f6f6;--color-surface:#fff;--color-text:#1f2328;--color-text-dim:#59636e;--color-error:#cf222e;--color-accent-missed:#8a5a00;--color-caret:#0969da;--color-pill-bg:#f6f8fa;--color-pill-text:#424a53;--color-pill-border:#8c959f;--color-pill-bg-active:#0969da;--color-pill-text-active:#fff;--color-focus-ring:#0969da;--color-border:#d0d7de;--color-gutter:#59636e;--color-mastery-0-bg:#eef4fb;--color-mastery-0-text:#1f2328;--color-mastery-1-bg:#cfe1f7;--color-mastery-1-text:#1f2328;--color-mastery-2-bg:#7fb0ea;--color-mastery-2-text:#1f2328;--color-mastery-3-bg:#0969da;--color-mastery-3-text:#fff;--color-mastery-4-bg:#0a3069;--color-mastery-4-text:#fff;--color-mastery-none-bg:transparent;--color-mastery-none-text:#1f2328;--color-mastery-locked-border:#8c959f;--color-mastery-locked-text:#59636e;--color-bar-track:#eef1f4;--color-bar-fill:#0969da;--color-bar-mark:#cf222e;--color-chart-line:#0969da;--color-chart-grid:#eef1f4;--color-chart-axis:#59636e;--color-chart-ref:#59636e;--color-tooltip-bg:#1f2328;--color-tooltip-text:#fff;--color-doubt-text:#1f2328;--color-doubt-1-bg:#fff1b8;--color-doubt-2-bg:#ffd866;--color-heat-0-bg:#f6f8fa;--color-heat-0-text:#1f2328;--color-heat-1-bg:#ffd8d3;--color-heat-1-text:#1f2328;--color-heat-2-bg:#ff9a8f;--color-heat-2-text:#1f2328;--color-heat-3-bg:#cf222e;--color-heat-3-text:#fff;--color-heat-4-bg:#82071e;--color-heat-4-text:#fff;--key-bg:#f6f8fa;--key-text:#424a53;--key-text-dim:#59636e;--key-border:#d0d7de;--key-shadow:none;--key-next-bg:#0969da;--key-next-text:#fff;--key-pressed-bg:#d0d7de;--key-focus-ring:#cf222e;--key-home-mark:#59636e}:root[data-theme=editor][data-mode=dark]{--color-bg:#1b1f27;--color-ide-bg:#23272f;--color-surface:#1b1f27;--color-text:#d7dce5;--color-text-dim:#8b93a3;--color-error:#ff6b6b;--color-accent-missed:#e5c07b;--color-caret:#4fa3ff;--color-pill-bg:#262c37;--color-pill-text:#aab2c0;--color-pill-border:#6b7488;--color-pill-bg-active:#4fa3ff;--color-pill-text-active:#0d1117;--color-focus-ring:#4fa3ff;--color-border:#2e3440;--color-gutter:#8b93a3;--color-mastery-0-bg:#2b3240;--color-mastery-0-text:#d7dce5;--color-mastery-1-bg:#3a4a63;--color-mastery-1-text:#d7dce5;--color-mastery-2-bg:#3d6fa8;--color-mastery-2-text:#fff;--color-mastery-3-bg:#4fa3ff;--color-mastery-3-text:#0d1117;--color-mastery-4-bg:#9ccfff;--color-mastery-4-text:#0d1117;--color-mastery-none-bg:transparent;--color-mastery-none-text:#d7dce5;--color-mastery-locked-border:#5c6576;--color-mastery-locked-text:#8b93a3;--color-bar-track:#2b3240;--color-bar-fill:#4fa3ff;--color-bar-mark:#ff6b6b;--color-chart-line:#4fa3ff;--color-chart-grid:#2b3240;--color-chart-axis:#8b93a3;--color-chart-ref:#8b93a3;--color-tooltip-bg:#d7dce5;--color-tooltip-text:#1b1f27;--color-doubt-text:#d7dce5;--color-doubt-1-bg:#3b3420;--color-doubt-2-bg:#5a4a1c;--color-heat-0-bg:#232834;--color-heat-0-text:#d7dce5;--color-heat-1-bg:#3d2f36;--color-heat-1-text:#d7dce5;--color-heat-2-bg:#6b3a42;--color-heat-2-text:#fff;--color-heat-3-bg:#a8474f;--color-heat-3-text:#fff;--color-heat-4-bg:#e05561;--color-heat-4-text:#0d1117;--key-bg:#232834;--key-text:#aab2c0;--key-text-dim:#8b93a3;--key-border:#343b48;--key-shadow:none;--key-next-bg:#4fa3ff;--key-next-text:#0d1117;--key-pressed-bg:#343b48;--key-focus-ring:#ff6b6b;--key-home-mark:#8b93a3}:root[data-theme=contraste][data-mode=light]{--color-bg:#fff;--color-ide-bg:#f5f5f5;--color-surface:#fff;--color-text:#000;--color-text-dim:#4d4d4d;--color-error:#b00020;--color-accent-missed:#0040c0;--color-caret:#0040c0;--color-pill-bg:#fff;--color-pill-text:#000;--color-pill-border:#000;--color-pill-bg-active:#000;--color-pill-text-active:#fff;--color-focus-ring:#0040c0;--color-border:#000;--color-gutter:#4d4d4d;--color-mastery-0-bg:#fff;--color-mastery-0-text:#000;--color-mastery-1-bg:#d9d9d9;--color-mastery-1-text:#000;--color-mastery-2-bg:#8c8c8c;--color-mastery-2-text:#000;--color-mastery-3-bg:#4d4d4d;--color-mastery-3-text:#fff;--color-mastery-4-bg:#000;--color-mastery-4-text:#fff;--color-mastery-none-bg:transparent;--color-mastery-none-text:#000;--color-mastery-locked-border:#000;--color-mastery-locked-text:#4d4d4d;--color-bar-track:#d9d9d9;--color-bar-fill:#000;--color-bar-mark:#b00020;--color-chart-line:#000;--color-chart-grid:#d9d9d9;--color-chart-axis:#4d4d4d;--color-chart-ref:#0040c0;--color-tooltip-bg:#000;--color-tooltip-text:#fff;--color-doubt-text:#000;--color-doubt-1-bg:#ffe14d;--color-doubt-2-bg:#ffb300;--color-heat-0-bg:#fff;--color-heat-0-text:#000;--color-heat-1-bg:#d9d9d9;--color-heat-1-text:#000;--color-heat-2-bg:#8c8c8c;--color-heat-2-text:#000;--color-heat-3-bg:#4d4d4d;--color-heat-3-text:#fff;--color-heat-4-bg:#000;--color-heat-4-text:#fff;--key-bg:#fff;--key-text:#000;--key-text-dim:#4d4d4d;--key-border:#000;--key-shadow:none;--key-next-bg:#0040c0;--key-next-text:#fff;--key-pressed-bg:#d9d9d9;--key-focus-ring:#b00020;--key-home-mark:#000}:root[data-theme=contraste][data-mode=dark]{--color-bg:#000;--color-ide-bg:#0a0a0a;--color-surface:#000;--color-text:#fff;--color-text-dim:#a6a6a6;--color-error:#ffd400;--color-accent-missed:#66d9ff;--color-caret:#ffd400;--color-pill-bg:#000;--color-pill-text:#fff;--color-pill-border:#fff;--color-pill-bg-active:#ffd400;--color-pill-text-active:#000;--color-focus-ring:#ffd400;--color-border:#fff;--color-gutter:#a6a6a6;--color-mastery-0-bg:#000;--color-mastery-0-text:#fff;--color-mastery-1-bg:#3a3a3a;--color-mastery-1-text:#fff;--color-mastery-2-bg:#7a7a7a;--color-mastery-2-text:#000;--color-mastery-3-bg:#c4c4c4;--color-mastery-3-text:#000;--color-mastery-4-bg:#fff;--color-mastery-4-text:#000;--color-mastery-none-bg:transparent;--color-mastery-none-text:#fff;--color-mastery-locked-border:#fff;--color-mastery-locked-text:#a6a6a6;--color-bar-track:#3a3a3a;--color-bar-fill:#fff;--color-bar-mark:#ffd400;--color-chart-line:#fff;--color-chart-grid:#3a3a3a;--color-chart-axis:#d0d0d0;--color-chart-ref:#ffd400;--color-tooltip-bg:#ffd400;--color-tooltip-text:#000;--color-doubt-text:#000;--color-doubt-1-bg:#ffd400;--color-doubt-2-bg:#ff9a1f;--color-heat-0-bg:#000;--color-heat-0-text:#fff;--color-heat-1-bg:#3a3a3a;--color-heat-1-text:#fff;--color-heat-2-bg:#7a7a7a;--color-heat-2-text:#000;--color-heat-3-bg:#c4c4c4;--color-heat-3-text:#000;--color-heat-4-bg:#fff;--color-heat-4-text:#000;--key-bg:#000;--key-text:#fff;--key-text-dim:#d0d0d0;--key-border:#fff;--key-shadow:none;--key-next-bg:#ffd400;--key-next-text:#000;--key-pressed-bg:#3a3a3a;--key-focus-ring:#66d9ff;--key-home-mark:#fff}:root{--font-mono:var(--font-theme)}:root[data-font=jetbrains]{--font-mono:var(--font-jetbrains)}:root[data-font=plex]{--font-mono:var(--font-plex)}:root[data-font=fira]{--font-mono:var(--font-fira)}:root[data-font=courier]{--font-mono:var(--font-courier)}:root[data-font=atkinson]{--font-mono:var(--font-atkinson)}:root[data-font=dyslexic]{--font-mono:var(--font-dyslexic)}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-ui);margin:0}.app{min-height:100vh;max-width:var(--width-content);padding:calc(var(--space-4) * 2 + 1.5rem) var(--space-3) var(--space-4);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.chrome{transition:opacity var(--duration-fade)}.ui-hidden .chrome{opacity:0;pointer-events:none}.header{top:var(--space-4);left:var(--space-3);right:var(--space-3);align-items:center;display:flex;position:absolute}@media (width>=48rem){.header{left:var(--space-4);right:var(--space-4)}}.wordmark{font-family:var(--font-mono)}.config-bar{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.pill-group{gap:var(--space-1);display:flex}.sep{background:var(--color-text-dim);align-self:stretch;width:1px}.pill{font:inherit;color:var(--color-pill-text);background:var(--color-pill-bg);border:1px solid var(--color-pill-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer}.pill[aria-pressed=true]{color:var(--color-pill-text-active);background:var(--color-pill-bg-active)}.pill:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.hidden-input{opacity:0;resize:none;border:0;width:1px;height:1px;padding:0;position:fixed;top:0;left:0;overflow:hidden}.test{gap:var(--space-2);flex-direction:column;display:flex}.live{gap:var(--space-3);min-height:calc(var(--font-size-ui) * 1.5);font-family:var(--font-mono);color:var(--color-text-dim);display:flex}.ide{--font-size-test:1.25rem;--typing-gutter:3rem;border:1px solid var(--color-border);background:var(--color-ide-bg);border-radius:8px;width:100%;max-width:46rem;margin-inline:auto;overflow:hidden}.ide-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--font-size-ui);color:var(--color-text-dim);display:flex}.ide-dots{gap:6px;display:flex}.ide-dots>span{border:1px solid var(--color-pill-border);border-radius:50%;width:10px;height:10px}.ide .typing-area{padding-block:var(--space-3);border-left:0}.ide .line:before{content:attr(data-n);left:calc(-1 * var(--typing-gutter));width:calc(var(--typing-gutter) - 1rem);text-align:right;color:var(--color-gutter);font-size:.7em;line-height:inherit;position:absolute}.indent{white-space:pre}.code-head{color:var(--color-text-dim)}:is(.live:has(.book-head),.live:has(.code-head)){justify-content:center}.book-head{align-items:center;gap:var(--space-2);min-width:0;max-width:100%;display:flex}.book-head>:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-head>:last-child{white-space:nowrap;flex:none}.book-progress{background:var(--color-pill-border);flex:none;width:6rem;height:2px;display:block;overflow:hidden}.book-progress>span{background:var(--color-text-dim);transform-origin:0;height:100%;display:block}.book-end{text-align:center;margin-block:var(--space-5)}.typing-area{cursor:text;position:relative;overflow:hidden}.typing-text{font-family:var(--font-mono);font-size:var(--font-size-test);line-height:var(--line-height-test);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;font-kerning:none;letter-spacing:0;white-space:pre;padding-left:var(--typing-gutter);position:relative}.typing-text.blurred{opacity:.4}.probe{visibility:hidden;pointer-events:none;display:block;position:absolute}.line{height:calc(var(--font-size-test) * var(--line-height-test));position:relative}.c{color:var(--color-text-dim)}.c.correct{color:var(--color-text)}.c.wrong,.c.extra,.c.missed{color:var(--color-error);text-decoration:underline;text-decoration-thickness:var(--underline-thickness);text-underline-offset:.2em}.c.accent{color:var(--color-accent-missed);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:var(--underline-thickness);text-underline-offset:.2em}.caret{width:var(--caret-width);height:calc(var(--font-size-test) * var(--line-height-test));background:var(--color-caret);transition:transform var(--duration-caret) linear;will-change:transform;position:absolute;top:0;left:0}.caret.shake{background:var(--color-error);animation:.3s ease-in-out caret-shake}.caret.shake>*{visibility:hidden}@keyframes caret-shake{20%{translate:-3px}40%{translate:3px}60%{translate:-2px}80%{translate:2px}}@media (prefers-reduced-motion:reduce){.caret.shake{animation:none}}.caret.idle{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.caret.idle{animation:none}}.composing{color:var(--color-text-dim);font-size:var(--font-size-ui);position:absolute;bottom:100%;left:0}.focus-hint{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.focus-hint span{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-tooltip-bg);color:var(--color-tooltip-text);font-family:var(--font-ui);font-size:var(--font-size-ui)}.results dl,.results{margin:0}.results{gap:var(--space-3);flex-direction:column;display:flex}.results-main,.results-detail{gap:var(--space-4);flex-wrap:wrap;display:flex}.results-main dd{font-size:var(--font-size-result);font-family:var(--font-mono)}.results dt{color:var(--color-text-dim)}.results dd{font-family:var(--font-mono);margin:0}.footer{justify-content:center;gap:var(--space-4);color:var(--color-text-dim);margin-top:auto;display:flex}kbd{font-family:var(--font-mono);padding:0 var(--space-1);border-radius:var(--radius-kbd);background:var(--color-pill-bg)}a{color:inherit;text-underline-offset:.2em}a:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.credits h1,.credits h2{margin:0;font-weight:400}.credits p{max-width:40rem;line-height:1.6}.header{justify-content:space-between}.wordmark{text-decoration:none}.main-nav{gap:var(--space-3);display:flex}.main-nav a{color:var(--color-text-dim);text-decoration:none}.main-nav a[aria-current=page]{color:var(--color-text)}.metrics-row{justify-content:center;gap:var(--space-4);flex-wrap:wrap;margin:0;display:flex}.metrics-row dt,.muted{color:var(--color-text-dim)}.metrics-row dd{font-family:var(--font-mono);margin:0}.delta{color:var(--color-text-dim)}.learn-head{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.letter-strip{justify-content:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.letter{width:var(--size-letter);height:var(--size-letter);font:inherit;font-family:var(--font-mono);border-radius:var(--radius-letter);cursor:pointer;color:var(--color-mastery-none-text);background:var(--color-mastery-none-bg);border:2px solid #0000}.letter.nodata{border-color:var(--color-mastery-locked-border)}.letter.locked{border:2px dashed var(--color-mastery-locked-border);color:var(--color-mastery-locked-text)}.letter.lv0{background:var(--color-mastery-0-bg);color:var(--color-mastery-0-text)}.letter.lv1{background:var(--color-mastery-1-bg);color:var(--color-mastery-1-text)}.letter.lv2{background:var(--color-mastery-2-bg);color:var(--color-mastery-2-text)}.letter.lv3{background:var(--color-mastery-3-bg);color:var(--color-mastery-3-text)}.letter.lv4{background:var(--color-mastery-4-bg);color:var(--color-mastery-4-text)}.letter.focus{text-underline-offset:.25em;text-decoration:underline}.letter.selected,.letter:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.focus-panel{justify-content:center;align-items:center;gap:var(--space-2) var(--space-4);max-width:100%;min-height:calc(var(--font-size-letter-focus) * 1.4);flex-wrap:wrap;display:flex}.focus-letter{font-family:var(--font-mono);font-size:var(--font-size-letter-focus);align-items:baseline;gap:var(--space-2);display:flex}.focus-tag{font-family:var(--font-ui);white-space:nowrap;font-size:var(--font-size-ui);color:var(--color-text-dim)}.bar-row{grid-template-columns:var(--width-bar-label) minmax(0, var(--width-bar)) auto;align-items:center;gap:var(--space-2);max-width:100%;display:grid}.bar-label{color:var(--color-text-dim)}.bar{height:var(--size-bar-height);background:var(--color-bar-track);border-radius:var(--radius-bar);position:relative}.bar-fill{background:var(--color-bar-fill);border-radius:var(--radius-bar);height:100%}.bar-mark{background:var(--color-bar-mark);width:2px;position:absolute;top:-3px;bottom:-3px}.bar-text{font-family:var(--font-mono);white-space:nowrap}.notice,.unlock{margin:0}.pill.action{align-self:flex-start}.chart{width:100%;position:relative}.chart svg{display:block}.chart-line{fill:none;stroke:var(--color-chart-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--color-chart-line);stroke:var(--color-bg);stroke-width:2px}.chart-grid line{stroke:var(--color-chart-grid)}.chart-grid text,.chart-axis{fill:var(--color-chart-axis);font-size:var(--font-size-chart);font-family:var(--font-mono)}.chart-ref line{stroke:var(--color-chart-ref);stroke-dasharray:4 4}.chart-ref text{fill:var(--color-chart-axis);font-size:var(--font-size-chart)}.chart-guide line{stroke:var(--color-chart-axis);stroke-dasharray:2 5}.chart-guide text{fill:var(--color-chart-axis);font-size:var(--font-size-chart)}.chart-crosshair{stroke:var(--color-chart-axis)}.chart-tooltip{pointer-events:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-kbd);background:var(--color-tooltip-bg);color:var(--color-tooltip-text);font-family:var(--font-mono);white-space:nowrap;position:absolute}.stats{gap:var(--space-3);flex-direction:column;display:flex}.stats h1,.stats h2{margin:0;font-weight:400}.data-table{border-collapse:collapse;font-family:var(--font-mono)}.data-table th,.data-table td{text-align:right;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border)}.data-table th[scope=row],.data-table thead th:first-child{text-align:left}.data-table thead th{color:var(--color-text-dim);font-weight:400}.palette-backdrop{z-index:50;padding:15vh var(--space-3) var(--space-3);background:color-mix(in srgb, var(--color-bg) 60%, transparent);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.palette{background:var(--color-surface);border:1px solid var(--color-pill-border);border-radius:var(--radius-kbd);width:min(36rem,100%);max-height:60vh;animation:palette-in var(--duration-popover) ease-out;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 32px #0000002e}@keyframes palette-in{0%{opacity:0;transform:translateY(-6px)}}.palette-input{font:inherit;padding:var(--space-3);color:var(--color-text);border:0;border-bottom:1px solid var(--color-border);background:0 0;outline:none;font-size:1.0625rem}.palette-input::placeholder{color:var(--color-text-dim)}.palette-list{padding:var(--space-1);overflow-y:auto}.palette-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-kbd);cursor:pointer;display:flex}.palette-item.active{background:var(--color-pill-bg);outline:1px solid var(--color-pill-border)}.palette-check{text-align:center;flex:none;width:1em}.palette-label{flex:1;min-width:0}.palette-group{color:var(--color-text-dim);font-size:var(--font-size-ui);flex:none}.palette-empty{padding:var(--space-2);margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.goal-panel{gap:var(--space-2);flex-direction:column;width:100%;max-width:36rem;margin-inline:auto;display:flex}.goal-panel h2{margin:0;font-weight:400}.goal-summary,.goal-panel p{margin:0}.goal-steps{gap:var(--space-1);font-family:var(--font-mono);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.goal-steps li{gap:var(--space-2);color:var(--color-text-dim);display:flex}.goal-steps li.current,.goal-steps li.done{color:var(--color-text)}.goal-step-mark{text-align:center;width:1em}.goal-step-label{flex:1}.goal-route{justify-content:center;align-items:center;gap:var(--space-2);display:flex;position:relative}.goal-route-line{align-items:center;gap:var(--space-2);font:inherit;font-family:var(--font-mono);color:var(--color-text);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.goal-route-line:hover,.goal-route-line[aria-expanded=true]{border-color:var(--color-pill-border)}.goal-route-line:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.goal-route-line[aria-expanded=true] .chevron{transform:translateY(.1em)rotate(225deg)}.chevron{width:.4em;height:.4em;transition:transform var(--duration-popover);border-bottom:1.5px solid;border-right:1.5px solid;transform:translateY(-.15em)rotate(45deg)}.goal-dots{gap:4px;display:inline-flex}.goal-dots>span{border:1px solid var(--color-pill-border);border-radius:50%;width:8px;height:8px}.goal-dots>span.done{background:var(--color-text);border-color:var(--color-text)}.goal-dots>span.current{border-color:var(--color-text)}.goal-route-full{z-index:20;top:calc(100% + var(--space-2));gap:var(--space-2);width:min(30rem,92vw);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-pill-border);border-radius:var(--radius-kbd);animation:palette-in var(--duration-popover) ease-out;flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000002e}.goal-route-full .link-button{align-self:flex-start}.goal-status{text-align:center}.goal-side{top:12rem;bottom:var(--space-4);width:var(--side-w);gap:var(--space-2);flex-direction:column;display:none;position:fixed;overflow-y:auto}.goal-side.left{left:calc(50vw - var(--width-content) / 2 - var(--side-w) - var(--space-3))}.goal-side.right{right:calc(50vw - var(--width-content) / 2 - var(--side-w) - var(--space-3))}.goal-free{display:none}.card-group.free{z-index:15;width:var(--side-w);position:fixed}.card-group{gap:var(--space-2);flex-direction:column;display:flex}@media (width>=84rem){.goal-side{display:flex}.goal-free{display:contents}.advice-overlay-link{display:none}}.goal-card{--tone:#1f9e9a;--tint:9%;padding:var(--space-3);border:1px solid color-mix(in srgb, var(--tone) calc(var(--tint) * 3), var(--color-surface));background:color-mix(in srgb, var(--tone) var(--tint), var(--color-surface));font-size:var(--font-size-ui);box-shadow:0 2px 10px color-mix(in srgb, var(--tone) 14%, transparent);transition:box-shadow var(--duration-popover), transform var(--duration-popover);border-radius:16px;flex-direction:column;line-height:1.45;display:flex;position:relative}.goal-card-head{align-items:center;gap:var(--space-2);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;display:flex}.goal-card h3{flex:1;margin:0;font-size:.95rem;font-weight:600}.goal-card-icon{background:color-mix(in srgb, var(--tone) calc(var(--tint) * 2), var(--color-surface));width:2rem;height:2rem;color:color-mix(in srgb, var(--tone) 50%, var(--color-text));border-radius:50%;flex:none;place-items:center;display:grid}.goal-card-icon .icon{width:1.05rem;height:1.05rem}.keycap{min-width:1.5em;font-family:var(--font-mono);text-align:center;color:var(--color-text);background:var(--color-surface);border:1px solid color-mix(in srgb, var(--tone,var(--color-text-dim)) 45%, var(--color-surface));border-bottom-width:2px;border-radius:6px;margin:0 .1em;padding:0 .35em;font-size:.95em;line-height:1.5;display:inline-block}.goal-verdict{color:color-mix(in srgb, var(--tone) 50%, var(--color-text));font-size:1.05rem;font-weight:650}.goal-meter{background:color-mix(in srgb, var(--tone) 18%, var(--color-surface));border-radius:999px;height:8px;overflow:hidden}.goal-meter>span{border-radius:inherit;background:color-mix(in srgb, var(--tone) 80%, var(--color-text));height:100%;display:block}.goal-meter-label{font-variant-numeric:tabular-nums}:root[data-mode=dark] .goal-card{--tint:13%}.goal-card .muted{color:color-mix(in srgb, var(--color-text-dim) 70%, var(--color-text))}:root[data-theme=contraste] .goal-card{--tint:0%;border-color:var(--color-text)}.goal-card-close{width:1.5rem;height:1.5rem;font:inherit;color:var(--color-text-dim);cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-.25rem -.5rem 0 0;font-size:1.1rem;line-height:1;display:grid}.goal-card:hover .goal-card-close,.goal-card-close:focus-visible{opacity:1}.goal-card-close:hover{color:var(--color-text);background:var(--color-pill-bg)}.goal-card-body{transition:grid-template-rows var(--duration-popover) ease-out;grid-template-rows:1fr;display:grid}.goal-card-body>div{gap:var(--space-2);min-height:0;padding-top:var(--space-2);flex-direction:column;display:flex;overflow:hidden}.goal-card p,.goal-card ul{margin:0}.goal-card.dragging{z-index:100;cursor:grabbing;transition:box-shadow var(--duration-popover);box-shadow:0 18px 40px #0003}.goal-card.dragging .goal-card-head{cursor:grabbing}.goal-card.drop-target{outline:2px dashed var(--color-focus-ring);outline-offset:3px}.goal-card.settled{animation:.32s cubic-bezier(.22,1,.36,1) card-settle}@keyframes card-settle{0%{transform:scale(1.03)rotate(1.2deg);box-shadow:0 18px 40px #0003}}.card-group.stacked{gap:0}.card-group.stacked .goal-card+.goal-card{margin-top:-4px}.card-group.stacked .goal-card{box-shadow:0 3px 0 color-mix(in srgb, var(--tone) 25%, var(--color-surface))}.card-group.stacked:not(.open):not(:hover) .goal-card:not(:last-child) .goal-card-body{grid-template-rows:0fr}.card-group.stacked:hover,.card-group.stacked.open{gap:var(--space-2)}.card-group.stacked:hover .goal-card+.goal-card,.card-group.stacked.open .goal-card+.goal-card{margin-top:0}@media (prefers-reduced-motion:reduce){.goal-card.settled{animation:none}}.advice-menu{position:relative}.advice-menu-box{width:20rem;left:auto;right:0;transform:none}.advice-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.advice-list label{gap:var(--space-2);cursor:pointer;align-items:center;display:flex}.advice-actions{gap:var(--space-1) var(--space-2);font-size:var(--font-size-ui);flex-wrap:wrap;align-items:center;display:flex}.goal-card ul{padding-left:var(--space-3)}.goal-overlay{z-index:40;padding:10vh var(--space-3) var(--space-3);background:color-mix(in srgb, var(--color-bg) 60%, transparent);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.goal-overlay-box{gap:var(--space-2);width:min(32rem,100%);max-height:80vh;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-pill-border);border-radius:var(--radius-kbd);flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 12px 32px #0000002e}.goal-overlay-box h2{margin:0;font-weight:400}.app.goal-layout{--width-content:52rem;--side-w:clamp(13rem, calc((100vw - var(--width-content)) / 2 - var(--space-4) * 2), 19rem)}.goal-form{gap:var(--space-3);flex-direction:column;display:flex}.pill-group.wrap{flex-wrap:wrap}.goal-date{font:inherit;color:var(--color-text);background:var(--color-pill-bg);border:1px solid var(--color-pill-border);border-radius:var(--radius-kbd);padding:var(--space-1) var(--space-2)}.goal-actions{gap:var(--space-2);display:flex}.error-text{color:var(--color-error)}.link-button{font:inherit;color:var(--color-text-dim);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.goal-chart{width:100%;max-width:36rem;margin-inline:auto}.spotify-card{z-index:30;right:var(--space-3);bottom:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);max-width:calc(100vw - 16px);transition:opacity var(--duration-fade), box-shadow var(--duration-popover);border-radius:16px;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 2px 10px #0000001a}.spotify-card.free{bottom:auto;right:auto}.spotify-card.dim:not(:hover):not(:focus-within){opacity:.35}.spotify-card.dragging{z-index:100;transition:box-shadow var(--duration-popover);box-shadow:0 18px 40px #0003}.spotify-card.dragging .spotify-frame{pointer-events:none}.spotify-head{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-ui);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;display:flex}.spotify-card.dragging .spotify-head{cursor:grabbing}.spotify-title{flex:1;font-weight:600}.music-title{text-align:center}.music-arrow{width:1.6rem;height:1.6rem;font:inherit;color:var(--color-text-dim);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.music-arrow:hover{color:var(--color-text);background:var(--color-pill-bg)}.music-arrow .arrow{--arrow-rot:rotate(135deg)}.music-arrow.next .arrow{--arrow-rot:rotate(-45deg)}.spotify-head .goal-card-close{opacity:1;margin:0}.spotify-frame{border:0;width:100%;display:block}.text-input{width:100%;max-width:32rem;font:inherit;color:var(--color-text);background:var(--color-pill-bg);border:1px solid var(--color-pill-border);border-radius:var(--radius-kbd);padding:var(--space-1) var(--space-2)}.text-input:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.shortcut-drill,.vim-drill{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.shortcut-progress{margin:0}.shortcut-action{margin:0;font-size:1.6rem}.shortcut-combo{align-items:center;gap:var(--space-2);min-height:3.2rem;display:flex}.shortcut-combo .plus{color:var(--color-text-dim)}.keycap.big{border-bottom-width:3px;border-radius:10px;min-width:2.6rem;padding:.35rem .7rem;font-size:1.25rem}.shortcut-combo.hidden .keycap{color:var(--color-text-dim)}.shortcut-combo.ok .keycap{border-color:var(--color-text);animation:pill-from-right var(--duration-popover) ease-out}.shortcut-feedback{min-height:1.5em;margin:0}.shortcut-done{gap:var(--space-2);margin-block:var(--space-4);flex-direction:column;display:flex}.shortcut-done p{margin:0}.shortcut-drill .keyboard{margin-top:var(--space-3)}.vim-text{text-align:left}.vim-mode{font-family:var(--font-mono);margin-left:auto}.vim-lines{padding:var(--space-3) var(--space-3) var(--space-3) 0;font-family:var(--font-mono);white-space:pre;margin:0;font-size:1.15rem;line-height:1.7;overflow-x:auto}.vim-line{min-height:1.7em}.vim-num{text-align:right;width:3rem;color:var(--color-gutter);-webkit-user-select:none;user-select:none;padding-right:1rem;font-size:.7em;display:inline-block}.vim-target{outline:2px dashed var(--color-focus-ring);outline-offset:1px;border-radius:2px}.vim-cursor{background:var(--color-caret);color:var(--color-bg);border-radius:2px}.vim-help{font-size:var(--font-size-ui);margin:0}.tip{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:12px;margin:0}.tip-label{margin-right:var(--space-1);font-weight:600}.import-confirm{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-error);border-radius:12px;flex-direction:column;display:flex}.import-confirm p{margin:0}.profile-head{align-items:center;gap:var(--space-3);display:flex}.avatar{border:1px solid var(--color-pill-border);background:var(--color-pill-bg);width:3rem;height:3rem;color:var(--color-text);font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:1.125rem;display:grid}.profile-name{min-width:0;font:inherit;color:var(--color-text);padding:var(--space-1) 0;background:0 0;border:0;border-bottom:1px solid #0000;flex:1;font-size:1.5rem}.profile-name:hover,.profile-name:focus{border-bottom-color:var(--color-pill-border);outline:none}.profile-name:focus-visible{border-bottom-color:var(--color-focus-ring)}.profile-name::placeholder{color:var(--color-text-dim)}.profile-summary{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));margin:0;display:grid}.profile-summary dt{color:var(--color-text-dim)}.profile-summary dd{font-family:var(--font-mono);margin:0}.main-nav a{padding:var(--space-1);border-radius:var(--radius-kbd);display:inline-flex}.mode-toggle{padding:var(--space-1);font:inherit;color:var(--color-text-dim);border-radius:var(--radius-kbd);cursor:pointer;background:0 0;border:0;display:inline-flex}.mode-toggle:hover{color:var(--color-text)}.mode-toggle:focus-visible,.main-nav a:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring)}.icon{width:var(--size-icon);height:var(--size-icon);stroke-width:2px}.intro-banner{align-items:center;gap:var(--space-2) var(--space-3);color:var(--color-text-dim);flex-wrap:wrap;display:flex}.intro-banner strong{color:var(--color-text);font-family:var(--font-mono)}.hesitation h2,.settings h1,.settings h2{margin:0;font-weight:400}.hesitation{gap:var(--space-2);flex-direction:column;display:flex}.hesitation p{margin:0}.hesitation-text{font-family:var(--font-mono);font-size:var(--font-size-hesitation);line-height:var(--line-height-test);color:var(--color-text-dim)}.hword{white-space:nowrap}.doubt{color:var(--color-doubt-text);text-underline-offset:.2em;text-decoration:underline}.doubt-1{background:var(--color-doubt-1-bg)}.doubt-2{background:var(--color-doubt-2-bg);text-decoration-thickness:2px}.fatigue{margin:0}.settings{gap:var(--space-3);flex-direction:column;display:flex}.setting{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.setting legend{margin-bottom:var(--space-2);padding:0}.hint{margin:0}.keyboard{align-items:center;gap:var(--key-gap);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.kb-row{gap:var(--key-gap);display:flex}@media (width<=40rem){.keyboard{--key-gap:3px;--key-size:min(34px, calc((100vw - 2 * var(--space-3) - 14 * var(--key-gap)) / 15));--font-size-key:min(.75rem, calc(var(--key-size) * .42))}.keyboard .kb-shift,.keyboard .kb-altgr{display:none}.keyboard .key.control .kb-main{font-size:calc(var(--font-size-key) * .8)}}.key{box-sizing:border-box;width:calc(var(--key-size) * var(--w) + var(--key-gap) * (var(--w) - 1));height:var(--key-size);font:inherit;font-size:var(--font-size-key);color:var(--key-text);background:var(--key-bg);border:var(--key-border-width) solid var(--key-border);border-radius:var(--key-radius);box-shadow:var(--key-shadow);place-items:center;padding:0;display:grid;position:relative}.key.wide{border-radius:var(--key-radius-wide)}.key.control .kb-main{font-size:var(--font-size-key-small)}.kb-shift,.kb-altgr{font-size:var(--font-size-key-small);color:var(--key-text-dim);line-height:1;position:absolute}.kb-shift{top:3px;left:5px}.kb-altgr{bottom:3px;right:5px}:root[data-theme=papel] .key:not(.wide) .kb-shift,:root[data-theme=papel] .key:not(.wide) .kb-altgr{display:none}.key.home:after{content:"";background:var(--key-home-mark);border-radius:1px;width:8px;height:2px;position:absolute;bottom:4px}.key.next{color:var(--key-next-text);background:var(--key-next-bg);border-color:var(--key-next-bg)}.key.next .kb-shift,.key.next .kb-altgr{color:var(--key-next-text)}.key.locked{opacity:var(--key-locked-opacity)}.heatmap .key.heat-0{background:var(--color-heat-0-bg);color:var(--color-heat-0-text)}.heatmap .key.heat-1{background:var(--color-heat-1-bg);color:var(--color-heat-1-text)}.heatmap .key.heat-2{background:var(--color-heat-2-bg);color:var(--color-heat-2-text)}.heatmap .key.heat-3{background:var(--color-heat-3-bg);color:var(--color-heat-3-text)}.heatmap .key.heat-4{background:var(--color-heat-4-bg);color:var(--color-heat-4-text)}.heatmap button.key{cursor:pointer}.key.selected,.heatmap button.key:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.heat-legend{align-items:center;gap:var(--space-1);color:var(--color-text-dim);display:flex}.heat-swatch{border-radius:var(--radius-bar);border:1px solid var(--color-border);width:1.5rem;height:.75rem}:root[data-theme=papel] .test{background:var(--color-surface);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sheet)}:root[data-theme=papel] h1,:root[data-theme=papel] h2{font-family:var(--font-mono)}:root[data-theme=editor] .line:before{content:attr(data-n);left:calc(-1 * var(--typing-gutter));width:calc(var(--typing-gutter) - 1rem);text-align:right;color:var(--color-gutter);font-size:.6em;line-height:inherit;position:absolute}:root[data-theme=editor] .typing-area{border-left:1px solid var(--color-border)}:root[data-theme=editor] .live{padding-left:var(--typing-gutter)}:root[data-theme=contraste] .pill,:root[data-theme=contraste] .letter{border-width:2px}.error-keyboard{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.error-keyboard p{margin:0}.test .keyboard{margin-top:var(--space-4)}.pill-cycle{display:inline-flex;position:relative}.pill-cycle>.pill{padding-inline:calc(var(--space-3) + 1em)}.pill-labels{overflow-clip-margin:.15em;justify-items:center;display:inline-grid;overflow:clip}.pill-label{visibility:hidden;white-space:nowrap;grid-area:1/1}.pill-label.current,.pill-label.leaving{visibility:visible}.pill-cycle[data-dir=next][data-turn="0"] .current{animation:in-r0 var(--duration-slide) var(--ease-slide) both}.pill-cycle[data-dir=next][data-turn="1"] .current{animation:in-r1 var(--duration-slide) var(--ease-slide) both}.pill-cycle[data-dir=prev][data-turn="0"] .current{animation:in-l0 var(--duration-slide) var(--ease-slide) both}.pill-cycle[data-dir=prev][data-turn="1"] .current{animation:in-l1 var(--duration-slide) var(--ease-slide) both}.pill-cycle[data-dir=next][data-turn="0"] .leaving{animation:out-l0 var(--duration-slide) var(--ease-slide) both}.pill-cycle[data-dir=next][data-turn="1"] .leaving{animation:out-l1 var(--duration-slide) var(--ease-slide) both}.pill-cycle[data-dir=prev][data-turn="0"] .leaving{animation:out-r0 var(--duration-slide) var(--ease-slide) both}.pill-cycle[data-dir=prev][data-turn="1"] .leaving{animation:out-r1 var(--duration-slide) var(--ease-slide) both}@keyframes in-r0{0%{opacity:0;transform:translate(100%)}}@keyframes in-r1{0%{opacity:0;transform:translate(100%)}}@keyframes in-l0{0%{opacity:0;transform:translate(-100%)}}@keyframes in-l1{0%{opacity:0;transform:translate(-100%)}}@keyframes out-l0{to{opacity:0;transform:translate(-100%)}}@keyframes out-l1{to{opacity:0;transform:translate(-100%)}}@keyframes out-r0{to{opacity:0;transform:translate(100%)}}@keyframes out-r1{to{opacity:0;transform:translate(100%)}}.pill-arrow{z-index:1;width:calc(var(--space-2) + 1em);font:inherit;color:var(--color-pill-text);border-radius:var(--radius-pill);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--duration-popover);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;bottom:0}.pill-arrow.prev{left:1px}.pill-arrow.next{right:1px}.pill-cycle:has(.pill[aria-pressed=true]) .pill-arrow{color:var(--color-pill-text-active)}.pill-cycle.disabled>.pill{color:var(--color-text-dim);cursor:default;border-style:dashed}.pill-cycle:not(.disabled):hover .pill-arrow{opacity:1;pointer-events:auto}.pill-cycle:not(.disabled):has(.pill:focus-visible) .pill-arrow{opacity:1;pointer-events:auto}.pill-arrow:hover .arrow{transform:var(--arrow-rot) scale(1.25)}@media (hover:none){.pill-cycle:not(.disabled) .pill-arrow{opacity:1;pointer-events:auto}}.arrow{--arrow-rot:rotate(135deg);width:.4em;height:.4em;transform:var(--arrow-rot);transition:transform var(--duration-popover);border-bottom:1.5px solid;border-right:1.5px solid}.next .arrow{--arrow-rot:rotate(-45deg)}@media (prefers-reduced-motion:reduce){.pill-cycle .pill-label{animation:none!important}.pill-label.leaving{visibility:hidden}}.typing-text{height:var(--lines-height);overflow:hidden}.lines{will-change:transform;position:relative}.carriage{display:none}.key{transition:transform var(--duration-key-press), background var(--duration-key-press)}.key.pressed{background:var(--key-pressed-bg);color:var(--key-text);transform:translateY(var(--key-pressed-offset));box-shadow:none}.key.focus-key{outline:2px dashed var(--key-focus-ring);outline-offset:2px}.learn-head{margin-top:var(--space-3)}:root[data-theme=papel] .test{margin-top:var(--space-3);position:relative}:root[data-theme=papel] .test:before{content:"";left:calc(-1 * var(--space-3));right:calc(-1 * var(--space-3));top:calc(-1 * var(--space-3));height:var(--space-3);border-radius:var(--radius-pill);background:var(--color-platen);position:absolute}:root[data-theme=papel] .carriage{height:.9rem;margin-bottom:var(--space-1);border-bottom:1px solid var(--color-ruler);background:repeating-linear-gradient(to right, var(--color-ruler) 0 1px, transparent 1px 1ch) bottom / 100% 35% no-repeat;font-size:var(--font-size-test);font-family:var(--font-mono);margin-left:var(--typing-gutter);display:block;position:relative}:root[data-theme=papel] .carriage-pointer{border-left:6px solid #0000;border-right:6px solid #0000;border-top:10px solid var(--color-ruler-pointer);width:0;height:0;transition:transform var(--duration-caret) linear;margin-left:-6px;position:absolute;bottom:-1px;left:0}:root[data-theme=papel] .c{display:inline-block}:root[data-theme=papel] .c:nth-child(5n+1){transform:translateY(.03em)rotate(-.8deg)}:root[data-theme=papel] .c:nth-child(5n+3){transform:translateY(-.03em)rotate(.6deg)}:root[data-theme=papel] .c:nth-child(7n+2){opacity:.88}:root[data-theme=papel] .c.correct{text-shadow:0 0 .6px}
