/* Source: /css/fonts-v17.10.265.css *//* Self-hosted Google Fonts, SIL OFL. See /fonts/v17.10.265/. *//* cyrillic-ext */@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/v17.10.265/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}/* cyrillic */@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/v17.10.265/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}/* greek-ext */@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/v17.10.265/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');unicode-range:U+1F00-1FFF}/* greek */@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/v17.10.265/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}/* vietnamese */@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/v17.10.265/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}/* latin-ext */@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/v17.10.265/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}/* latin */@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/v17.10.265/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/* cyrillic-ext */@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:optional;src:url(/fonts/v17.10.265/tDbV2o-flEEny0FZhsfKu5WU4xD2OwG_TA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}/* cyrillic */@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:optional;src:url(/fonts/v17.10.265/tDbV2o-flEEny0FZhsfKu5WU4xD_OwG_TA.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}/* greek */@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:optional;src:url(/fonts/v17.10.265/tDbV2o-flEEny0FZhsfKu5WU4xD4OwG_TA.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}/* vietnamese */@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:optional;src:url(/fonts/v17.10.265/tDbV2o-flEEny0FZhsfKu5WU4xD0OwG_TA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}/* latin-ext */@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:optional;src:url(/fonts/v17.10.265/tDbV2o-flEEny0FZhsfKu5WU4xD1OwG_TA.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}/* latin */@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:optional;src:url(/fonts/v17.10.265/tDbV2o-flEEny0FZhsfKu5WU4xD7OwE.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/* devanagari */@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}/* latin-ext */@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}/* latin */@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/* devanagari */@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}/* latin-ext */@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}/* latin */@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/* devanagari */@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLDD4Z11lFc-K.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}/* latin-ext */@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLDD4Z1JlFc-K.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}/* latin */@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:optional;src:url(/fonts/v17.10.265/pxiByp8kv8JHgFVrLDD4Z1xlFQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/* Source: /css/reset.css *//* ==========================================================
   TypingTutor.Online
   reset.css
   Modern CSS Reset
   Version: 1.0
========================================================== *//* Box Sizing */*,*::before,*::after{box-sizing:border-box}/* Remove Default Margin */*{margin:0}/* Improve Text Rendering */html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}/* Base Body */body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}/* Images */img,picture,svg,canvas,video{display:block;max-width:100%}/* Forms */input,button,textarea,select{font:inherit;color:inherit}/* Buttons */button{cursor:pointer;background:none;border:none}/* Links */a{color:inherit;text-decoration:none}/* Lists */ul,ol{list-style:none}/* Tables */table{border-collapse:collapse;border-spacing:0}/* Text Overflow */p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}/* Textarea */textarea{resize:vertical}/* Hidden */[hidden]{display:none !important}/* Disabled */button:disabled,input:disabled{cursor:not-allowed}/* Focus */:focus{outline:none}:focus-visible{outline:3px solid #2563EB;outline-offset:3px}/* Selection */::selection{background:rgba(37,99,235,.18)}/* Scrollbar (Chromium) */::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94A3B8}/* Source: /css/variables.css *//* ==========================================================
   TypingTutor.Online
   Theme Variables
   File: css/variables.css
   Version: 4.0
========================================================== */:root{color-scheme:light;/* Brand */--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#06b6d4;/* Surfaces */--background:#f8fafc;--surface:#ffffff;--surface-alt:#f1f5f9;--surface-soft:#f8fafc;--surface-elevated:#ffffff;/* Borders and text */--border:#cbd5e1;--border-soft:#e5eaf1;--text:#0f172a;--text-light:#475569;--text-muted:#94a3b8;/* Keyboard */--key-bg:#ffffff;--key-border:#cbd5e1;--key-text:#111827;--key-current:#14b8a6;--key-next:#8b5cf6;--key-pressed:#2563eb;--key-correct:#22c55e;--key-wrong:#ef4444;--key-disabled:#cbd5e1;/* Fingers */--finger-thumb:#60a5fa;--finger-left-index:#4ade80;--finger-left-middle:#facc15;--finger-left-ring:#fb923c;--finger-left-little:#ec4899;--finger-right-index:#4ade80;--finger-right-middle:#facc15;--finger-right-ring:#fb923c;--finger-right-little:#ec4899;/* Typography */--font-heading:"Poppins",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--font-xs:.75rem;--font-sm:.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--font-3xl:3rem;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;/* Spacing */--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;/* Radius */--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-round:999px;/* Shadows */--shadow-xs:0 1px 2px rgba(15, 23, 42, .05);--shadow-sm:0 2px 6px rgba(15, 23, 42, .08);--shadow-md:0 8px 25px rgba(15, 23, 42, .08);--shadow-lg:0 12px 35px rgba(15, 23, 42, .12);--shadow-xl:0 18px 50px rgba(15, 23, 42, .18);--shadow-key:0 3px 8px rgba(15, 23, 42, .10);--shadow-key-pressed:inset 0 3px 8px rgba(15, 23, 42, .22);/* Transitions */--transition-fast:120ms;--transition-normal:180ms;--transition-medium:250ms;--transition-slow:400ms;--ease:cubic-bezier(.2, .8, .2, 1);/* Component sizes */--hand-scale:1;--finger-press-distance:6px;--finger-glow-size:18px;--finger-animation-speed:180ms;--key-width:60px;--key-height:60px;--key-gap:6px;--header-height:72px;--lesson-height:120px;--hands-height:260px;--keyboard-height:320px;--footer-height:60px;/* Layers */--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;/* Breakpoints (documentation values) */--mobile:576px;--tablet:768px;--laptop:1024px;--desktop:1280px;--wide:1600px}/* Explicit dark mode */html[data-theme="dark"]{color-scheme:dark;--primary:#4f8cff;--primary-hover:#75a5ff;--primary-light:#172a4d;--background:#0b1120;--surface:#111827;--surface-alt:#182235;--surface-soft:#151f31;--surface-elevated:#1a2538;--border:#334155;--border-soft:#263449;--text:#f1f5f9;--text-light:#cbd5e1;--text-muted:#94a3b8;--key-bg:#172033;--key-border:#3a4960;--key-text:#f8fafc;--key-disabled:#475569;--shadow-xs:0 1px 2px rgba(0, 0, 0, .18);--shadow-sm:0 2px 8px rgba(0, 0, 0, .24);--shadow-md:0 10px 28px rgba(0, 0, 0, .28);--shadow-lg:0 16px 38px rgba(0, 0, 0, .34);--shadow-xl:0 22px 55px rgba(0, 0, 0, .42)}/* System mode follows the operating system. */@media (prefers-color-scheme: dark){html[data-theme="system"]{color-scheme:dark;--primary:#4f8cff;--primary-hover:#75a5ff;--primary-light:#172a4d;--background:#0b1120;--surface:#111827;--surface-alt:#182235;--surface-soft:#151f31;--surface-elevated:#1a2538;--border:#334155;--border-soft:#263449;--text:#f1f5f9;--text-light:#cbd5e1;--text-muted:#94a3b8;--key-bg:#172033;--key-border:#3a4960;--key-text:#f8fafc;--key-disabled:#475569;--shadow-xs:0 1px 2px rgba(0, 0, 0, .18);--shadow-sm:0 2px 8px rgba(0, 0, 0, .24);--shadow-md:0 10px 28px rgba(0, 0, 0, .28);--shadow-lg:0 16px 38px rgba(0, 0, 0, .34);--shadow-xl:0 22px 55px rgba(0, 0, 0, .42)}}/* Source: /css/typography.css *//* ==========================================================
   TypingTutor.Online
   typography.css
   Version: 1.0
========================================================== *//* ==========================================================
   BODY
========================================================== */body{font-family:var(--font-body);font-size:var(--font-md);font-weight:var(--weight-normal);color:var(--text);background:var(--background);line-height:1.6}/* ==========================================================
   HEADINGS
========================================================== */h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-bold);line-height:1.2;color:var(--text)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}/* ==========================================================
   HEADER
========================================================== */.logo h1{font-size:1.8rem;letter-spacing:-0.5px}.tagline{display:block;margin-top:4px;color:var(--text-light);font-size:.9rem}/* ==========================================================
   LESSON
========================================================== */#lessonTitle{font-size:1.15rem;font-weight:600;color:var(--primary);margin-bottom:10px}#lessonText{font-family:var(--font-mono);font-size:2.25rem;font-weight:600;line-height:1.8;text-align:center;letter-spacing:1px}/* ==========================================================
   STATISTICS
========================================================== */.stat{text-align:center}.stat .label{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-light)}.stat span:last-child{display:block;margin-top:6px;font-size:2rem;font-weight:700}/* ==========================================================
   BUTTON
========================================================== */button{font-family:var(--font-body);font-size:.95rem;font-weight:600}/* ==========================================================
   CODE
========================================================== */code,pre{font-family:var(--font-mono)}/* ==========================================================
   LINKS
========================================================== */a{transition:color var(--transition-fast)}/* Keep the generic link hover intentionally low-specificity.
   Component links styled as buttons (games, tests, lessons, kids, etc.)
   must retain their own foreground color while hovered. */:where(a:hover){color:var(--primary)}/* ==========================================================
   FOOTER
========================================================== */#footer{font-size:.9rem;color:var(--text-light)}/* ==========================================================
   RESPONSIVE
========================================================== */@media (max-width:1024px){#lessonText{font-size:2rem}}@media (max-width:768px){.logo h1{font-size:1.5rem}#lessonText{font-size:1.6rem}.stat span:last-child{font-size:1.5rem}}@media (max-width:576px){#lessonText{font-size:1.3rem;line-height:1.7}}/* Source: /css/app.css *//* ==========================================================
   TypingTutor.Online
   Responsive Header & Footer v5.5
   File: css/app.css
========================================================== */body{background:var(--background);color:var(--text);overflow-x:hidden}/* Logo */.logo{display:flex;align-items:center;color:inherit;text-decoration:none}.logo-text{display:grid;gap:2px;min-width:0}.logo-text strong{overflow:hidden;color:var(--text);font-family:var(--font-heading);font-size:clamp(20px, 1.7vw, 30px);font-weight:800;line-height:1.05;white-space:nowrap;text-overflow:ellipsis}.logo-text small{overflow:hidden;color:var(--text-light);font-size:clamp(10px, .82vw, 13px);line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.site-logo-picture{display:block;min-width:0}.site-logo-image{display:block;width:min(280px, 100%);height:auto;max-height:58px;object-fit:contain;object-position:left center}/* Theme button */#themeButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:108px;min-height:44px;padding:9px 14px;color:#ffffff;background:var(--primary);border-radius:var(--radius-md);white-space:nowrap;transition:background var(--transition-fast),transform var(--transition-fast)}#themeButton:hover{background:var(--primary-hover);transform:translateY(-1px)}#themeButton:active{transform:translateY(1px)}/* Footer */.footer-brand{color:var(--text-light);font-size:12px;font-weight:600}.footer-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 16px}.footer-links a{color:var(--text-light);font-size:12px;font-weight:600;text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast)}.footer-links a:hover,.footer-links a:focus-visible{color:var(--primary);outline:none}/* Theme menu retained */.theme-button-arrow{font-size:10px;opacity:.8}.theme-menu{position:fixed;z-index:10050;width:250px;padding:8px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-xl)}.theme-menu.hidden{display:none}.theme-option{display:grid;grid-template-columns:36px 1fr 22px;gap:10px;align-items:center;width:100%;padding:10px;color:var(--text);text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer}.theme-option:hover,.theme-option:focus-visible{background:var(--surface-alt);border-color:var(--border);outline:none}.theme-option-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--surface-alt);border-radius:9px;font-size:18px}.theme-option-copy{display:grid;gap:2px}.theme-option-copy strong{color:var(--text);font-size:13px}.theme-option-copy small{color:var(--text-light);font-size:10px}.theme-option-check{color:var(--primary);font-weight:900;opacity:0}.theme-option-selected{background:var(--primary-light);border-color:var(--border)}.theme-option-selected .theme-option-check{opacity:1}.hidden{display:none !important}@media (max-width: 1180px){.logo-text strong{font-size:22px}.logo-text small{font-size:10px}}@media (max-width: 900px){.site-logo-image{width:min(220px, 100%);max-height:46px}.footer-links{justify-content:flex-start}}@media (max-width: 560px){.logo-text strong{font-size:18px}.logo-text small{display:none}.site-logo-image{width:min(170px, 100%);max-height:36px}#themeButton{min-width:90px;min-height:40px;padding-inline:11px}.footer-links{gap:8px 14px}}/* Source: /css/keyboard.css */#keyboardContainer{width:100%;max-width:1120px;margin:20px auto 40px;padding:22px;background:#fff;border-radius:26px;box-shadow:0 12px 35px rgba(0, 0, 0, .08)}.keyboard-row{display:flex;gap:8px}.key{position:relative;flex:1;min-width:52px;height:66px;background:#ffffff;border:1px solid #D9E0E8;border-radius:10px;box-shadow:0 1px 2px rgba(0, 0, 0, .06),0 6px 14px rgba(0, 0, 0, .05);display:flex;justify-content:center;align-items:flex-end;padding-bottom:10px;transition:.075s;cursor:default}.key:hover{transform:translateY(-2px)}.key-primary{font-size:18px;font-weight:600;color:#1F2937}.key-secondary{position:absolute;top:8px;left:8px;font-size:11px;color:#7A8796}.home-bump{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:20px;height:3px;border-radius:2px;background:#555}.key-next{background:#2F67F6;color:#fff;border-color:#2F67F6;box-shadow:0 0 0 4px rgba(47, 103, 246, .15)}.key-pressed{transform:translateY(3px)}.key-correct{background:#22C55E;border-color:#22C55E}.key-correct .key-primary,.key-correct .key-secondary{color:#fff}.key-correct .home-bump{background:#fff}.key-wrong{background:#EF4444;border-color:#EF4444}.key-wrong .key-primary,.key-wrong .key-secondary{color:#fff}.key-wrong .home-bump{background:#fff}/* ==========================================================
   LARGER KEYBOARD TEXT v6.2
========================================================== *//*
 * Increase key-label readability without changing key widths
 * or the responsive keyboard layout.
 */.key-primary{font-size:clamp(13px, 1.12vw, 18px);font-weight:800;line-height:1}.key-secondary{font-size:clamp(8px, .78vw, 12px);font-weight:700;line-height:1}/* Laptop */@media (max-width: 1100px){.key-primary{font-size:14px}.key-secondary{font-size:9px}}/* Tablet */@media (max-width: 760px){.key-primary{font-size:12px}.key-secondary{font-size:8px}}/* Small mobile */@media (max-width: 460px){.key-primary{font-size:9px}}/* Source: /css/keyboard-types.css *//* ==========================================================
   TypingTutor.Online
   Stable ANSI Keyboard Layout v17.0.3
   File: css/keyboard-types.css
========================================================== */#keyboardContainer{--keyboard-type-max-width:1120px;--keyboard-type-padding:22px;--keyboard-type-key-height:66px;--keyboard-type-row-gap:8px;max-width:var(--keyboard-type-max-width);padding:var(--keyboard-type-padding)}#keyboardContainer .keyboard-row{gap:var(--keyboard-type-row-gap)}#keyboardContainer .keyboard-row + .keyboard-row{margin-top:var(--keyboard-type-row-gap)}#keyboardContainer .keyboard-key-spacer{min-width:0;pointer-events:none}#keyboardContainer .key{height:var(--keyboard-type-key-height);min-width:0}#keyboardContainer .key-primary{white-space:nowrap}#keyboardContainer[data-keyboard-type="ansi-us"]{--keyboard-type-max-width:1120px}/* Dark mode inherits the existing keyboard palette. */html[data-theme="dark"]
#keyboardContainer[data-keyboard-type]{color-scheme:dark}/* Reduced motion */html[data-reduced-motion="true"]
#keyboardContainer .key{transition:none !important}@media (max-width: 1100px){#keyboardContainer{--keyboard-type-padding:16px;--keyboard-type-row-gap:6px}}@media (max-width: 760px){/*
     * The tutor already hides its full on-screen keyboard on mobile.
     * These values keep the engine safe if that preference is changed.
     */#keyboardContainer{--keyboard-type-padding:10px;--keyboard-type-row-gap:4px;--keyboard-type-key-height:50px}}/* ==========================================================
   STABLE US ANSI PRODUCTION LAYOUT v17.0.3
========================================================== *//*
 * The production keyboard and all three hand-guidance modes are calibrated
 * together at this width. The keyboard remains centered and the card does
 * not reserve unused space for an experimental compact layout.
 */html[data-keyboard-type="ansi-us"] #keyboardContainer,#keyboardContainer[data-keyboard-type="ansi-us"]{width:100%;max-width:1120px;margin-right:auto;margin-left:auto}html[data-keyboard-type="ansi-us"] .keyboard-guidance-card{--active-keyboard-width:1120px}/* Source: /css/dark-mode-polish.css *//* ==========================================================
   TypingTutor.Online
   Dark Mode Polish v11.1
========================================================== *//* Dark logo switching */.site-logo-picture{position:relative;display:inline-grid;align-items:center}.site-logo-picture > *{grid-area:1/1}.site-logo-dark{display:none}html[data-theme="dark"] .site-logo-light{display:none}html[data-theme="dark"] .site-logo-dark{display:block}@media (prefers-color-scheme: dark){html[data-theme="system"] .site-logo-light{display:none}html[data-theme="system"] .site-logo-dark{display:block}}/* Main dark surfaces */html[data-theme="dark"]{--background:#090f1d;--surface:#111a2b;--surface-alt:#172236;--surface-soft:#0e1727;--surface-elevated:#1a273c;--border:#3b4b63;--border-soft:#26364e;--text:#f8fafc;--text-light:#cbd5e1;--text-muted:#8fa0b8;--key-bg:#172235;--key-border:#40506a;--key-text:#f8fafc}/* Lesson text must belong to dark mode too */html[data-theme="dark"] #lessonText,html[data-theme="dark"] .typing-text-viewport{color:var(--text);background:#111827 !important;border-color:var(--border)}html[data-theme="dark"] #lessonText .future-character{color:#c4cede}html[data-theme="dark"] #lessonText .typed-character{color:#7f8da3}html[data-theme="dark"] #lessonText .current-character{color:#fff}/* Remove washed-out white cards */html[data-theme="dark"] .statistics-panel .stat,html[data-theme="dark"] .stat,html[data-theme="dark"] .keyboard-guidance-card,html[data-theme="dark"] .hands-guidance-card,html[data-theme="dark"] #keyboardContainer,html[data-theme="dark"] #handsContainer{color:var(--text);background:var(--surface) !important;border-color:var(--border)}/* Keyboard */html[data-theme="dark"] .key{color:var(--key-text);background:linear-gradient(
            180deg,
            #1c2940,
            #151f32
        ) !important;border-color:var(--key-border);box-shadow:0 2px 0 #08101d,0 5px 10px rgba(0, 0, 0, .28)}html[data-theme="dark"] .key-secondary{color:#9fb0c8}html[data-theme="dark"] .key.key-active,html[data-theme="dark"] .key.active,html[data-theme="dark"] .key.pressed{color:#fff;background:var(--primary) !important;border-color:#80a9ff}/* Hands panel: remove bright gray area */html[data-theme="dark"] #handsContainer,html[data-theme="dark"] .hands-guidance-card{background:radial-gradient(
            circle at center,
            #24334a 0,
            #172236 54%,
            #111a2b 100%
        ) !important}html[data-theme="dark"] .hands-guidance-card p,html[data-theme="dark"] .finger-position-label,html[data-theme="dark"] .home-row-guide{color:var(--text-light)}/* Improve weak header text visible in screenshot */html[data-theme="dark"] .stage-label,html[data-theme="dark"] .stage-name,html[data-theme="dark"] .lesson-stage,html[data-theme="dark"] .practice-stage{color:#e6edf7 !important}html[data-theme="dark"] .lesson-stage strong,html[data-theme="dark"] .practice-stage strong{color:#fff !important}/* Footer and resource cards */html[data-theme="dark"] .resource-card,html[data-theme="dark"] .more-practice-dropdown,html[data-theme="dark"] .course-progress-card,html[data-theme="dark"] .achievement-card{color:var(--text);background:var(--surface);border-color:var(--border-soft)}html[data-theme="dark"] .resource-card small,html[data-theme="dark"] .resource-section-heading p{color:var(--text-light)}/* System-dark mirrors explicit dark mode */@media (prefers-color-scheme: dark){html[data-theme="system"] #lessonText,html[data-theme="system"] .typing-text-viewport{color:var(--text);background:#111827 !important}html[data-theme="system"] .statistics-panel .stat,html[data-theme="system"] .stat,html[data-theme="system"] #keyboardContainer,html[data-theme="system"] #handsContainer{background:var(--surface) !important;border-color:var(--border)}html[data-theme="system"] .key{color:var(--key-text);background:linear-gradient(180deg, #1c2940, #151f32) !important;border-color:var(--key-border)}}/* ==========================================================
   DARK KEYBOARD LABEL VISIBILITY v11.2
========================================================== *//*
 * The keyboard key labels became too dark because older key text
 * rules were overriding the new dark-mode palette.
 */html[data-theme="dark"] .keyboard,html[data-theme="dark"] .keyboard-container,html[data-theme="dark"] #keyboardContainer{color:#f8fafc !important}html[data-theme="dark"] .key,html[data-theme="dark"] .keyboard-key,html[data-theme="dark"] [data-key]{color:#f8fafc !important;background:linear-gradient(
            180deg,
            #24334b 0%,
            #1a263a 100%
        ) !important;border-color:#52627a !important;text-shadow:none !important}html[data-theme="dark"] .key *,html[data-theme="dark"] .keyboard-key *,html[data-theme="dark"] [data-key] *{color:inherit !important}html[data-theme="dark"] .key-secondary,html[data-theme="dark"] .key .secondary,html[data-theme="dark"] .key .symbol,html[data-theme="dark"] .keyboard-key .secondary,html[data-theme="dark"] .keyboard-key .symbol{color:#cbd5e1 !important}html[data-theme="dark"] .key.key-active,html[data-theme="dark"] .key.active,html[data-theme="dark"] .key.pressed,html[data-theme="dark"] .keyboard-key.key-active,html[data-theme="dark"] .keyboard-key.active,html[data-theme="dark"] [data-key].key-active{color:#ffffff !important;background:#2f6df6 !important;border-color:#8fb3ff !important;box-shadow:0 0 0 3px rgba(47, 109, 246, .22),0 2px 0 #153a95 !important}html[data-theme="dark"] .key.key-active *,html[data-theme="dark"] .key.active *,html[data-theme="dark"] .key.pressed *,html[data-theme="dark"] .keyboard-key.key-active *,html[data-theme="dark"] .keyboard-key.active *,html[data-theme="dark"] [data-key].key-active *{color:#ffffff !important}/* Home-key markers and target-row labels */html[data-theme="dark"] .home-key-marker,html[data-theme="dark"] .target-row-guide,html[data-theme="dark"] .target-row-guide *,html[data-theme="dark"] #targetRowGuide,html[data-theme="dark"] #targetRowGuide *{color:#dbe7f8 !important}html[data-theme="dark"] .target-row-key{color:#dbe7f8 !important;background:#1d2a3f !important;border-color:#42536d !important}html[data-theme="dark"] .target-row-key.active,html[data-theme="dark"] .target-row-key.current{color:#ffffff !important;background:#2f6df6 !important;border-color:#8fb3ff !important}/* System-dark support */@media (prefers-color-scheme: dark){html[data-theme="system"] .key,html[data-theme="system"] .keyboard-key,html[data-theme="system"] [data-key]{color:#f8fafc !important;background:linear-gradient(
                180deg,
                #24334b 0%,
                #1a263a 100%
            ) !important;border-color:#52627a !important}html[data-theme="system"] .key *,html[data-theme="system"] .keyboard-key *,html[data-theme="system"] [data-key] *{color:inherit !important}}/* ==========================================================
   DARK LESSON TEXT CONTRAST + PAUSE MESSAGE READABILITY v17.2.8
========================================================== */html[data-theme="dark"] #lessonText .future-character{color:#e2e8f0}html[data-theme="dark"] #lessonText .typed-character{color:#66758d}html[data-theme="dark"] #lessonText .wrong-character{color:#ff8aa3;background:rgba(244, 63, 94, .18);box-shadow:inset 0 -3px 0 #fb7185}html[data-theme="dark"] #lessonText .current-character{color:#ffffff;background:#2f7fff !important;box-shadow:0 0 0 .09em rgba(96, 165, 250, .42) !important,0 0 22px rgba(47, 127, 255, .34)}@media (prefers-color-scheme: dark){html[data-theme="system"] #lessonText .future-character{color:#e2e8f0}html[data-theme="system"] #lessonText .typed-character{color:#66758d}html[data-theme="system"] #lessonText .wrong-character{color:#ff8aa3;background:rgba(244, 63, 94, .18);box-shadow:inset 0 -3px 0 #fb7185}html[data-theme="system"] #lessonText .current-character{color:#ffffff;background:#2f7fff !important;box-shadow:0 0 0 .09em rgba(96, 165, 250, .42) !important,0 0 22px rgba(47, 127, 255, .34)}}/* Source: /tests/tests.css *//* TypingTutor.Online standalone typing tests v17.3.0 */html{scroll-behavior:smooth}body{min-width:0;background:var(--background, #f5f8fc);color:var(--text, #0f172a)}.test-site-header{position:sticky;top:0;z-index:100;background:var(--surface, #fff);border-bottom:1px solid var(--border-soft, #dbe4f0)}.test-header-inner{width:min(1480px, calc(100% - 32px));min-height:82px;margin:auto;display:flex;align-items:center;gap:24px}.test-logo{display:inline-flex;flex:0 0 auto}.test-logo-stack{position:relative;display:block;width:clamp(190px, 20vw, 260px)}.test-logo img{width:100%;height:auto;display:block}.test-logo-dark{position:absolute;inset:0;opacity:0;pointer-events:none}html[data-theme="dark"] .test-logo-light{opacity:0}html[data-theme="dark"] .test-logo-dark{opacity:1}@media (prefers-color-scheme: dark){html[data-theme="system"] .test-logo-light{opacity:0}html[data-theme="system"] .test-logo-dark{opacity:1}}.test-nav{margin-left:auto;display:flex;align-items:center;gap:7px}.test-nav a,#themeButton{min-height:43px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;color:var(--text, #0f172a);background:transparent;font-weight:750;text-decoration:none;cursor:pointer}.test-nav a:hover,.test-nav a[aria-current="page"]{color:#fff;background:var(--primary, #2563eb)}#themeButton{color:#fff;background:var(--primary, #2563eb)}.test-page-shell{width:min(1420px, calc(100% - 32px));margin:24px auto 56px}.test-breadcrumbs{margin-bottom:14px;color:var(--text-light, #64748b);font-size:13px}.test-breadcrumbs a{color:var(--primary, #2563eb);text-decoration:none}.test-hero{padding:clamp(24px, 4vw, 42px);background:var(--surface, #fff);border:1px solid var(--border-soft, #dbe4f0);border-radius:24px;box-shadow:var(--shadow-sm, 0 10px 30px rgba(15,23,42,.07))}.test-eyebrow{color:var(--primary, #2563eb);font-size:11px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.test-hero h1{margin:7px 0 10px;font-size:clamp(30px, 4vw, 50px);line-height:1.08}.test-hero p{max-width:920px;margin:0;color:var(--text-light, #64748b);font-size:16px;line-height:1.75}.test-hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.test-hero-facts span{padding:9px 12px;background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:10px;font-size:12px;font-weight:750}.typing-test-layout{display:grid;grid-template-columns:minmax(0, 1fr) 270px;gap:16px;margin-top:18px;align-items:start}.typing-test-card,.test-side-card,.test-content-card,.test-history-card,.tests-directory{background:var(--surface, #fff);border:1px solid var(--border-soft, #dbe4f0);border-radius:20px;box-shadow:var(--shadow-sm, 0 10px 30px rgba(15,23,42,.06))}.typing-test-card{overflow:hidden}.test-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border-soft, #dbe4f0)}.test-card-heading h2{margin:0;font-size:20px}.test-card-heading p{margin:4px 0 0;color:var(--text-light, #64748b);font-size:12px}.test-status-pill{padding:8px 11px;color:var(--primary, #2563eb);background:rgba(37,99,235,.09);border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}.test-setup,.test-results{padding:28px;text-align:center}.test-setup h2,.test-results h2{margin:0 0 8px;font-size:28px}.test-setup p,.test-results p{margin:0 auto;max-width:700px;color:var(--text-light, #64748b);line-height:1.65}.test-custom-duration{width:min(420px, 100%);margin:22px auto 0;text-align:left}.test-custom-duration label{display:block;margin-bottom:7px;font-weight:750}.test-custom-duration select{width:100%;min-height:46px;padding:9px 12px;color:var(--text, #0f172a);background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:11px}.test-primary-button,.test-secondary-button,.test-danger-button{min-height:46px;padding:11px 20px;border-radius:11px;font:inherit;font-weight:800;cursor:pointer}.test-primary-button{color:#fff;background:var(--primary, #2563eb);border:1px solid var(--primary, #2563eb)}.test-secondary-button{color:var(--text, #0f172a);background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0)}.test-danger-button{color:#ef4444;background:transparent;border:1px solid #ef4444}.test-setup .test-primary-button{margin-top:22px;min-width:210px}.test-live-stats{display:grid;grid-template-columns:repeat(6, minmax(0,1fr));gap:8px;padding:14px;border-bottom:1px solid var(--border-soft, #dbe4f0)}.test-live-stat{min-width:0;padding:12px 8px;background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:12px;text-align:center}.test-live-stat span{display:block;margin-bottom:5px;color:var(--text-light, #64748b);font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.test-live-stat strong{color:var(--primary, #2563eb);font-size:clamp(18px, 2vw, 25px)}.test-text-wrap{padding:18px}#lessonText.test-text{height:clamp(260px, 31vw, 430px);overflow:auto;padding:22px;outline:0;color:var(--text, #0f172a);background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:16px;font-family:"JetBrains Mono",monospace;font-size:clamp(25px, 2.5vw, 38px);font-weight:550;line-height:1.7;letter-spacing:.015em;word-break:normal}.test-character{display:inline}.test-character.is-future{color:var(--text, #1e293b)}.test-character.is-correct{color:#22a35a}.test-character.is-wrong{color:#fff;background:#e11d48;border-radius:3px}.test-character.is-current{color:#fff;background:var(--primary, #2563eb);border-radius:.15em;box-shadow:0 0 0 .08em rgba(37,99,235,.24)}.test-progress-track{height:7px;margin-top:14px;overflow:hidden;background:rgba(148,163,184,.22);border-radius:999px}.test-progress-fill{width:0;height:100%;background:linear-gradient(90deg,#2563eb,#22c55e);transition:width .1s linear}.test-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px}.test-status-message{margin:12px 0 0;color:var(--text-light, #64748b);font-size:12px;text-align:center}.test-keyboard-card{margin:0 18px 20px;padding:14px;background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:18px;overflow:hidden}#testKeyboardContainer{width:100%;max-width:none;margin:0;padding:10px;box-shadow:none;background:transparent}#testKeyboardContainer .key{min-width:0;height:clamp(42px, 4.5vw, 62px)}.test-side-card{padding:18px}.test-side-card + .test-side-card{margin-top:12px}.test-side-card h2{margin:0 0 8px;font-size:16px}.test-side-card strong{display:block;color:var(--primary, #2563eb);font-size:23px}.test-side-card p{margin:6px 0 0;color:var(--text-light, #64748b);font-size:12px;line-height:1.55}.test-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.test-result-grid div{padding:15px;background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:13px}.test-result-grid span{display:block;margin-bottom:6px;color:var(--text-light, #64748b);font-size:10px;font-weight:800;text-transform:uppercase}.test-result-grid strong{color:var(--primary, #2563eb);font-size:25px}.test-history-card,.test-content-card{margin-top:18px;padding:clamp(20px, 3vw, 32px)}.test-history-card h2,.test-content-card h2{margin:0 0 12px}.test-history-scroll{overflow-x:auto}.test-history-table{width:100%;border-collapse:collapse;min-width:680px}.test-history-table th,.test-history-table td{padding:12px;border-bottom:1px solid var(--border-soft, #dbe4f0);text-align:left;font-size:12px}.test-history-table th{color:var(--text-light, #64748b);text-transform:uppercase;font-size:10px}.test-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.test-content-grid article{padding:18px;background:var(--surface-alt, #f8fafc);border-radius:14px}.test-content-grid h3{margin:0 0 8px;font-size:17px}.test-content-grid p,.test-content-grid li{color:var(--text-light, #64748b);line-height:1.7}.test-content-grid ul{margin:0;padding-left:20px}.tests-directory{margin-top:18px;padding:24px}.tests-directory h2{margin:0 0 14px}.tests-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.test-link-card{display:block;padding:17px;color:var(--text, #0f172a);background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:13px;text-decoration:none}.test-link-card:hover{border-color:var(--primary, #2563eb);transform:translateY(-1px)}.test-link-card strong{display:block;margin-bottom:5px}.test-link-card span{color:var(--text-light, #64748b);font-size:11px}.test-footer{padding:28px 16px;color:var(--text-light, #64748b);text-align:center;font-size:12px}.mobile-typing-input{position:fixed;left:-9999px;opacity:0}.mobile-keyboard-button{display:none}html[data-theme="dark"] body{background:#07101f}html[data-theme="dark"] .test-site-header,html[data-theme="dark"] .test-hero,html[data-theme="dark"] .typing-test-card,html[data-theme="dark"] .test-side-card,html[data-theme="dark"] .test-content-card,html[data-theme="dark"] .test-history-card,html[data-theme="dark"] .tests-directory{background:#101b2e;border-color:#40516a}html[data-theme="dark"] .test-live-stat,html[data-theme="dark"] #lessonText.test-text,html[data-theme="dark"] .test-keyboard-card,html[data-theme="dark"] .test-result-grid div,html[data-theme="dark"] .test-content-grid article,html[data-theme="dark"] .test-link-card,html[data-theme="dark"] .test-hero-facts span{background:#16243a;border-color:#40516a}html[data-theme="dark"] .test-character.is-future{color:#e2e8f0}html[data-theme="dark"] .test-character.is-correct{color:#72829a}html[data-theme="dark"] .test-secondary-button{color:#e2e8f0;background:#16243a;border-color:#40516a}@media (prefers-color-scheme: dark){html[data-theme="system"] body{background:#07101f}html[data-theme="system"] .test-site-header,html[data-theme="system"] .test-hero,html[data-theme="system"] .typing-test-card,html[data-theme="system"] .test-side-card,html[data-theme="system"] .test-content-card,html[data-theme="system"] .test-history-card,html[data-theme="system"] .tests-directory{background:#101b2e;border-color:#40516a}html[data-theme="system"] .test-live-stat,html[data-theme="system"] #lessonText.test-text,html[data-theme="system"] .test-keyboard-card,html[data-theme="system"] .test-result-grid div,html[data-theme="system"] .test-content-grid article,html[data-theme="system"] .test-link-card,html[data-theme="system"] .test-hero-facts span{background:#16243a;border-color:#40516a}html[data-theme="system"] .test-character.is-future{color:#e2e8f0}html[data-theme="system"] .test-character.is-correct{color:#72829a}html[data-theme="system"] .test-secondary-button{color:#e2e8f0;background:#16243a;border-color:#40516a}}@media (max-width: 980px){.typing-test-layout{grid-template-columns:1fr}.test-side-area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.test-side-card + .test-side-card{margin-top:0}.test-live-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.tests-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.test-header-inner{min-height:auto;padding:12px 0;flex-wrap:wrap}.test-nav{order:3;width:100%;overflow-x:auto}.test-nav a{white-space:nowrap}.test-live-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.test-result-grid,.test-content-grid{grid-template-columns:1fr 1fr}.test-keyboard-card{display:none}.mobile-keyboard-button{display:inline-flex}}@media (max-width: 520px){.test-page-shell,.test-header-inner{width:min(100% - 20px, 1420px)}.test-logo img{width:190px}.test-hero{border-radius:18px}.test-card-heading{align-items:flex-start;flex-direction:column}.test-live-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.test-result-grid,.test-content-grid,.tests-grid,.test-side-area{grid-template-columns:1fr}#lessonText.test-text{height:330px;padding:15px;font-size:25px}.test-setup,.test-results{padding:22px 15px}}/* ==========================================================
   TEST-FIRST RESPONSIVE VIEWPORT v17.4.7
   The interactive test now comes before long SEO copy. The
   dimensions below keep the test text, controls, and keyboard
   much closer together on desktops, laptops, and tablets.
========================================================== */.test-page-shell{width:min(1500px, calc(100% - 24px));margin-top:12px}.test-breadcrumbs{margin-bottom:8px}.typing-test-layout{grid-template-columns:minmax(0, 1fr) minmax(210px, 250px);gap:12px;margin-top:0}.test-card-heading{min-height:58px;padding:11px 16px}.test-card-heading h1{margin:0;font-size:clamp(20px, 1.75vw, 27px);line-height:1.15}.test-card-heading p{margin-top:3px;line-height:1.35}.test-status-pill{padding:7px 10px}.test-live-stats{gap:6px;padding:9px 10px}.test-live-stat{padding:8px 6px;border-radius:10px}.test-live-stat span{margin-bottom:3px}.test-live-stat strong{font-size:clamp(17px, 1.6vw, 22px)}.test-text-wrap{padding:10px 12px 8px}#lessonText.test-text{height:clamp(210px, 29vh, 320px);padding:clamp(14px, 1.5vw, 20px);font-size:clamp(23px, 2.05vw, 32px);line-height:1.58}.test-progress-track{height:5px;margin-top:9px}.test-controls{gap:8px;margin-top:9px}.test-primary-button,.test-secondary-button,.test-danger-button{min-height:40px;padding:8px 16px}.test-status-message{min-height:16px;margin-top:7px}.test-keyboard-card{margin:0 12px 12px;padding:7px;border-radius:14px}#testKeyboardContainer{padding:2px}#testKeyboardContainer .keyboard-row{gap:clamp(3px, .42vw, 7px)}#testKeyboardContainer .key{min-width:0 !important;height:clamp(36px, 5.1vh, 52px) !important;padding-bottom:6px;border-radius:8px}#testKeyboardContainer .key-primary{font-size:clamp(10px, .95vw, 15px)}#testKeyboardContainer .key-secondary{top:5px;left:5px;font-size:clamp(7px, .68vw, 10px)}.test-side-card{padding:14px}.test-side-card + .test-side-card{margin-top:9px}.test-side-card h2{font-size:15px}.test-side-card strong{font-size:20px}/* SEO/GEO introduction remains indexable but no longer pushes the tool down. */.test-seo-intro{margin-top:18px;padding:clamp(18px, 2.4vw, 28px)}.test-seo-intro h2{margin:5px 0 8px;font-size:clamp(23px, 2.5vw, 34px);line-height:1.15}.test-seo-intro p{font-size:14px;line-height:1.65}.test-seo-intro .test-hero-facts{margin-top:14px}/* Compact laptop mode: designed for browser content areas around 700–850px tall. */@media (min-width: 981px) and (max-height: 900px){.test-page-shell{margin-top:8px}.test-breadcrumbs{margin-bottom:5px;font-size:11px}.test-card-heading{min-height:50px;padding:8px 13px}.test-card-heading h1{font-size:clamp(19px, 1.55vw, 24px)}.test-card-heading p{display:none}.test-status-pill{padding:6px 9px;font-size:10px}.test-live-stats{padding:7px 8px}.test-live-stat{padding:6px 4px}.test-live-stat strong{font-size:clamp(16px, 1.4vw, 20px)}.test-text-wrap{padding:8px 10px 6px}#lessonText.test-text{height:clamp(180px, 25vh, 235px);padding:12px 15px;font-size:clamp(21px, 1.8vw, 28px);line-height:1.48}.test-controls{margin-top:7px}.test-primary-button,.test-secondary-button,.test-danger-button{min-height:36px;padding:6px 14px}.test-status-message{margin:4px 0 0;min-height:12px}.test-keyboard-card{margin:0 10px 9px;padding:5px}#testKeyboardContainer .key{height:clamp(32px, 4.35vh, 42px) !important;padding-bottom:4px}#testKeyboardContainer .key-primary{font-size:clamp(9px, .8vw, 13px)}#testKeyboardContainer .key-secondary{top:4px;left:4px;font-size:clamp(6px, .58vw, 9px)}}@media (max-width: 980px){.typing-test-layout{grid-template-columns:1fr}.test-side-area{order:2}#lessonText.test-text{height:clamp(220px, 34vh, 320px)}#testKeyboardContainer .key{height:clamp(38px, 5.5vw, 50px) !important}}@media (max-width: 760px){.test-page-shell{width:min(100% - 16px, 1500px);margin-top:8px}.test-breadcrumbs{font-size:11px}.test-card-heading{min-height:auto;padding:10px 12px}.test-card-heading h1{font-size:clamp(19px, 5.2vw, 25px)}.test-card-heading p,.test-status-pill{display:none}.test-live-stats{grid-template-columns:repeat(3, minmax(0, 1fr))}#lessonText.test-text{height:clamp(250px, 43vh, 360px);font-size:clamp(22px, 5.8vw, 28px)}.test-seo-intro{margin-top:14px}}@media (max-width: 520px){.test-live-stats{grid-template-columns:repeat(2, minmax(0, 1fr))}#lessonText.test-text{height:clamp(260px, 45vh, 350px)}.test-controls > button{flex:1 1 125px}}/* ==========================================================
   CUSTOM KEYS + CUSTOM TEXT TEST SETUP v17.4.8
========================================================== */.test-custom-input{width:min(720px, 100%);margin:20px auto 0;text-align:left}.test-custom-input label{display:block;margin-bottom:8px;color:var(--text, #0f172a);font-weight:800}.test-custom-input input,.test-custom-input textarea{width:100%;padding:13px 15px;color:var(--text, #0f172a);background:var(--surface-alt, #f8fafc);border:1px solid var(--border-soft, #dbe4f0);border-radius:12px;outline:none;font:600 16px/1.55 Inter,system-ui,sans-serif;transition:border-color .18s ease,box-shadow .18s ease}.test-custom-input textarea{min-height:168px;resize:vertical;font-family:"JetBrains Mono",monospace;font-weight:500}.test-custom-input input:focus,.test-custom-input textarea:focus{border-color:#2878ff;box-shadow:0 0 0 4px rgba(40,120,255,.14)}.test-custom-input small,.test-custom-text-meta{display:block;margin-top:8px;color:var(--text-light, #64748b);font-size:13px;line-height:1.5}.test-custom-text-meta{display:flex;justify-content:space-between;gap:14px}.test-custom-text-meta span{white-space:nowrap;font-weight:700}.test-custom-input-error{width:min(720px, 100%);margin:12px auto 0 !important;padding:10px 13px;color:#b42318 !important;background:#fff1f0;border:1px solid #ffccc7;border-radius:10px;font-weight:700;text-align:left}html[data-theme="dark"] .test-custom-input input,html[data-theme="dark"] .test-custom-input textarea{color:#eef4ff;background:#111c30;border-color:#334763}html[data-theme="dark"] .test-custom-input-error{color:#fecaca !important;background:rgba(127,29,29,.35);border-color:rgba(248,113,113,.45)}@media (max-width: 620px){.test-custom-text-meta{align-items:flex-start;flex-direction:column;gap:3px}.test-custom-input textarea{min-height:190px}}a.test-primary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1}/* ==========================================================
   TEST CERTIFICATE RESULT STATUS v17.5.0
========================================================== */.test-certificate-note{margin:4px auto 2px !important;padding:10px 14px;max-width:760px !important;border:1px solid rgba(37, 99, 235, .24);border-radius:12px;color:#1e40af !important;background:#eff6ff;font-size:13px;font-weight:800}html[data-theme="dark"] .test-certificate-note{color:#bfdbfe !important;background:rgba(30, 64, 175, .24);border-color:rgba(96, 165, 250, .34)}@media (prefers-color-scheme: dark){html[data-theme="system"] .test-certificate-note{color:#bfdbfe !important;background:rgba(30, 64, 175, .24);border-color:rgba(96, 165, 250, .34)}}/* ==========================================================
   TEST STUDIO + GUIDANCE + RESULT NEXT-STEP v17.8.98
========================================================== */.test-quick-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:10px auto 12px}.test-quick-options-running{margin:7px 12px}.test-option-chip{min-height:34px;padding:6px 11px;border:1px solid var(--border-soft,#dbe4f0);border-radius:999px;background:var(--surface,#fff);color:var(--text,#0f172a);font:700 12px/1.2 Inter,system-ui,sans-serif;cursor:pointer}.test-option-chip[aria-pressed="true"]{border-color:rgba(37,99,235,.35);background:#eff6ff;color:#1d4ed8}.test-finger-guide{margin:7px 12px 0;padding:9px 12px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(37,99,235,.22);border-radius:12px;background:#f8fbff;color:#475569;font-size:13px}.test-finger-guide strong{color:#1d4ed8;font-size:15px}.test-studio{width:min(900px,100%);margin:16px auto;padding:16px;text-align:left;border:1px solid var(--border-soft,#dbe4f0);border-radius:16px;background:var(--surface-alt,#f8fafc)}.test-studio-heading{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:12px}.test-studio-heading span{color:#2563eb;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.test-studio-heading h3{margin:2px 0 0;font-size:20px}.test-studio-heading small{color:var(--text-light,#64748b)}.test-studio-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.test-studio label{display:flex;flex-direction:column;gap:6px;color:var(--text-light,#64748b);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.test-studio select,.test-studio textarea{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--border-soft,#dbe4f0);border-radius:10px;background:var(--surface,#fff);color:var(--text,#0f172a);font:700 13px/1.3 Inter,system-ui,sans-serif}.test-studio-custom{margin-top:12px}.test-studio-custom textarea{min-height:120px;resize:vertical;text-transform:none;font-weight:500}.test-studio-custom small{display:block;margin-top:6px;color:var(--text-light,#64748b);font-size:12px;text-transform:none;letter-spacing:0}.test-studio-summary{margin:12px 0 0!important;padding:9px 11px;border-radius:10px;background:rgba(37,99,235,.08);color:#1e40af!important;font-size:12px;font-weight:800}.test-certificate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px auto 4px}.test-game-recommendation{max-width:820px;margin:12px auto;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid rgba(16,185,129,.28);border-radius:14px;background:#f0fdf4;text-align:left}.test-game-recommendation span{display:block;color:#047857;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.test-game-recommendation strong{display:block;margin-top:2px;color:#064e3b;font-size:17px}.test-game-recommendation p{margin:3px 0 0!important;color:#475569!important;font-size:12px}.test-game-recommendation .test-primary-button{white-space:nowrap}.test-keyboard-card[hidden]{display:none!important}html[data-theme="dark"] .test-option-chip,html[data-theme="dark"] .test-studio select,html[data-theme="dark"] .test-studio textarea{background:#111c30;color:#eef4ff;border-color:#334763}html[data-theme="dark"] .test-option-chip[aria-pressed="true"]{background:rgba(30,64,175,.34);color:#bfdbfe}html[data-theme="dark"] .test-finger-guide,html[data-theme="dark"] .test-studio{background:#0f1b2d;border-color:#334763;color:#cbd5e1}html[data-theme="dark"] .test-studio-summary{background:rgba(30,64,175,.26);color:#bfdbfe!important}html[data-theme="dark"] .test-game-recommendation{background:rgba(6,78,59,.22);border-color:rgba(52,211,153,.3)}html[data-theme="dark"] .test-game-recommendation strong{color:#a7f3d0}html[data-theme="dark"] .test-game-recommendation p{color:#cbd5e1!important}@media(max-width:900px){.test-studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.test-studio{padding:12px}.test-studio-grid{grid-template-columns:1fr}.test-studio-heading{align-items:flex-start;flex-direction:column}.test-game-recommendation{align-items:stretch;flex-direction:column}.test-game-recommendation .test-primary-button{width:100%}.test-quick-options-running{margin-inline:8px}}.test-next-actions{max-width:820px;margin:14px auto 12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid rgba(37,99,235,.25);border-radius:15px;background:#eff6ff}.test-next-actions span{display:block;color:#1d4ed8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.test-next-actions strong{display:block;margin-top:2px;color:#172554;font-size:18px}.test-next-actions p{margin:3px 0 0!important;color:#475569!important;font-size:12px}.test-next-action-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.test-next-action-buttons a{white-space:nowrap}html[data-theme="dark"] .test-next-actions{background:rgba(30,64,175,.25);border-color:#334763}html[data-theme="dark"] .test-next-actions strong{color:#dbeafe}html[data-theme="dark"] .test-next-actions p{color:#cbd5e1!important}@media(max-width:620px){.test-next-actions{align-items:stretch;flex-direction:column}.test-next-action-buttons{justify-content:stretch}.test-next-action-buttons a{width:100%}}/* ==========================================================
   THREE-LINE TYPING TEST VIEWPORT v17.9.12
   Keep every typing test passage to three visible text rows,
   matching the compact lesson experience while the active
   character continues to scroll through the full passage.
========================================================== */#lessonText.test-text{--test-visible-lines:3;--test-text-line-height:1.58;box-sizing:border-box;height:calc(var(--test-visible-lines) * var(--test-text-line-height) * 1em + 28px) !important;min-height:calc(var(--test-visible-lines) * var(--test-text-line-height) * 1em + 28px) !important;max-height:calc(var(--test-visible-lines) * var(--test-text-line-height) * 1em + 28px) !important;padding-top:14px !important;padding-bottom:14px !important;line-height:var(--test-text-line-height) !important;overflow-x:hidden !important;overflow-y:hidden !important;overscroll-behavior:contain}/* =========================================================
   Typing Tests directory — light engagement palette v17.10.9
   Scoped to /tests/ index only. Individual test workspaces keep
   their established neutral interface for distraction-free testing.
   ========================================================= */.tests-index-page{--tests-blue-soft:#eef6ff;--tests-blue-border:#cfe2ff;--tests-cyan-soft:#effbfd;--tests-cyan-border:#cceef2;--tests-violet-soft:#f6f3ff;--tests-violet-border:#ded6ff;--tests-amber-soft:#fff9ea;--tests-amber-border:#f3dfaa;--tests-rose-soft:#fff3f7;--tests-rose-border:#f2d3df;--tests-mint-soft:#f1fbf5;--tests-mint-border:#cfe9d9;--tests-slate-soft:#f7f9fc}/* Give the directory a softer canvas while retaining the global site look. */.tests-index-page .test-page-shell{position:relative}.tests-index-page .test-hero{background:linear-gradient(135deg, #ffffff 0%, var(--tests-blue-soft) 100%);border-color:var(--tests-blue-border)}.tests-index-page .test-hero-facts span{background:rgba(255,255,255,.86);border-color:#cbdffb}/* Section identities help users scan this long directory without dark blocks. */.tests-index-page .tests-directory,.tests-index-page .test-content-card{position:relative;overflow:hidden;box-shadow:0 10px 28px rgba(44, 74, 125, .055)}.tests-index-page .tests-directory::before,.tests-index-page .test-content-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:#bfd7ff}/* 1 — focused keyboard tests */.tests-index-page .tests-directory:nth-of-type(2){background:linear-gradient(180deg, #fff 0%, var(--tests-cyan-soft) 100%);border-color:var(--tests-cyan-border)}.tests-index-page .tests-directory:nth-of-type(2)::before{background:#8edbe4}.tests-index-page .tests-directory:nth-of-type(2) .test-link-card{background:rgba(255,255,255,.82);border-color:#d4edf0}/* 2 — main test directory */.tests-index-page .tests-directory:nth-of-type(3){background:linear-gradient(180deg, #fff 0%, var(--tests-violet-soft) 100%);border-color:var(--tests-violet-border)}.tests-index-page .tests-directory:nth-of-type(3)::before{background:#c2b4ff}.tests-index-page .tests-directory:nth-of-type(3) .test-link-card{background:rgba(255,255,255,.84);border-color:#e2dcfb}/* 3 — government/recruitment directory */.tests-index-page .tests-directory:nth-of-type(4){background:linear-gradient(180deg, #fff 0%, var(--tests-amber-soft) 100%);border-color:var(--tests-amber-border)}.tests-index-page .tests-directory:nth-of-type(4)::before{background:#eccf78}.tests-index-page .tests-directory:nth-of-type(4) .test-link-card{background:rgba(255,255,255,.86);border-color:#efe1bc}/* Adult practice — warm but deliberately very light. */.tests-index-page #adultTypingFromTests{background:linear-gradient(135deg, #fff 0%, var(--tests-rose-soft) 100%);border-color:var(--tests-rose-border)}.tests-index-page #adultTypingFromTests::before{background:#eeb7ca}.tests-index-page #adultTypingFromTests .test-primary-button{box-shadow:0 7px 18px rgba(37,99,235,.13)}/* Popular test options */.tests-index-page [aria-labelledby="popularTypingTestOptions"]{background:linear-gradient(180deg, #fff 0%, var(--tests-mint-soft) 100%);border-color:var(--tests-mint-border)}.tests-index-page [aria-labelledby="popularTypingTestOptions"]::before{background:#9bd3ae}.tests-index-page [aria-labelledby="popularTypingTestOptions"] .test-content-grid article{background:rgba(255,255,255,.82);border:1px solid #d8ebdf}/* General practice explainer */.tests-index-page #adultTypingFromTests + .test-content-card + .test-content-card{background:linear-gradient(180deg, #fff 0%, var(--tests-blue-soft) 100%);border-color:var(--tests-blue-border)}.tests-index-page #adultTypingFromTests + .test-content-card + .test-content-card::before{background:#9bc5ff}.tests-index-page #adultTypingFromTests + .test-content-card + .test-content-card .test-content-grid article{background:rgba(255,255,255,.84);border:1px solid #d6e5fb}/* FAQ */.tests-index-page [aria-labelledby="typingTestSeoFaq"]{background:linear-gradient(180deg, #fff 0%, #faf7ff 100%);border-color:#e5dcf6}.tests-index-page [aria-labelledby="typingTestSeoFaq"]::before{background:#cbb8e8}.tests-index-page [aria-labelledby="typingTestSeoFaq"] .test-content-grid article{background:rgba(255,255,255,.86);border:1px solid #e8e0f3}/* Make cards feel interactive without introducing strong/dark colors. */.tests-index-page .test-link-card,.tests-index-page .test-content-grid article{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}@media (hover:hover) and (pointer:fine){.tests-index-page .test-link-card:hover{background:#fff;border-color:#9ec2fa;box-shadow:0 8px 20px rgba(37,99,235,.08);transform:translateY(-2px)}.tests-index-page .test-content-grid article:hover{background:#fff;border-color:#c7daf7;box-shadow:0 7px 18px rgba(44,74,125,.06);transform:translateY(-1px)}}/* Small screens keep the palette but lose decorative gradient complexity. */@media (max-width: 700px){.tests-index-page .test-hero,.tests-index-page .tests-directory,.tests-index-page .test-content-card{background-image:none}.tests-index-page .tests-directory:nth-of-type(2){background-color:var(--tests-cyan-soft)}.tests-index-page .tests-directory:nth-of-type(3){background-color:var(--tests-violet-soft)}.tests-index-page .tests-directory:nth-of-type(4){background-color:var(--tests-amber-soft)}.tests-index-page #adultTypingFromTests{background-color:var(--tests-rose-soft)}.tests-index-page [aria-labelledby="popularTypingTestOptions"]{background-color:var(--tests-mint-soft)}}/* v17.10.14 — clearer certificate pass/fail decision and retry guidance */.test-certificate-outcome{max-width:820px!important;margin:14px auto 8px!important;padding:18px 20px;border:1px solid rgba(37,99,235,.22);border-radius:18px;background:#f8fbff;text-align:left;color:#334155;font-weight:500}.test-certificate-outcome.is-earned{background:#f0fdf4;border-color:rgba(16,185,129,.32)}.test-certificate-outcome.is-not-earned{background:#fffaf0;border-color:rgba(245,158,11,.34)}.test-certificate-outcome-icon{float:left;margin:0 12px 8px 0;font-size:34px;line-height:1}.test-certificate-outcome-kicker{display:block;margin-bottom:4px;color:#1d4ed8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.test-certificate-outcome.is-earned .test-certificate-outcome-kicker{color:#047857}.test-certificate-outcome.is-not-earned .test-certificate-outcome-kicker{color:#b45309}.test-certificate-outcome strong{display:block;color:#0f172a;font-size:20px;line-height:1.3}.test-certificate-outcome p{max-width:none!important;margin:7px 0 0!important;color:#475569!important;font-size:13px;line-height:1.55!important}.test-certificate-outcome ul{clear:both;margin:12px 0 0;padding:11px 14px 11px 34px;border-radius:12px;background:rgba(255,255,255,.7);color:#475569;font-size:13px;line-height:1.55}.test-certificate-course-tip{clear:both;margin-top:12px!important;padding:10px 12px;border-radius:11px;background:#eff6ff;color:#1e3a8a!important}html[data-theme="dark"] .test-certificate-outcome{background:#111c30;border-color:#334763;color:#cbd5e1}html[data-theme="dark"] .test-certificate-outcome.is-earned{background:rgba(6,78,59,.24);border-color:rgba(52,211,153,.32)}html[data-theme="dark"] .test-certificate-outcome.is-not-earned{background:rgba(120,53,15,.22);border-color:rgba(251,191,36,.3)}html[data-theme="dark"] .test-certificate-outcome strong{color:#f8fafc}html[data-theme="dark"] .test-certificate-outcome p{color:#cbd5e1!important}html[data-theme="dark"] .test-certificate-outcome ul{background:rgba(15,23,42,.55);color:#cbd5e1}html[data-theme="dark"] .test-certificate-course-tip{background:rgba(30,64,175,.26);color:#bfdbfe!important}@media(max-width:620px){.test-certificate-outcome{padding:15px}.test-certificate-outcome-icon{font-size:30px}.test-certificate-outcome strong{font-size:18px}.test-certificate-actions{align-items:stretch;flex-direction:column}.test-certificate-actions>*{width:100%}}/* v17.10.15: long paragraph test completion path */.paragraph-result-path{max-width:820px;margin:14px auto 12px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;border-radius:16px;border:1px solid rgba(37,99,235,.22);background:#f8fbff}.paragraph-result-path.is-strong{border-color:rgba(16,185,129,.3);background:#f0fdf4}.paragraph-result-path.needs-practice{border-color:rgba(245,158,11,.32);background:#fffbeb}.paragraph-result-copy{min-width:0}.paragraph-result-copy>span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#1d4ed8}.paragraph-result-path.is-strong .paragraph-result-copy>span{color:#047857}.paragraph-result-path.needs-practice .paragraph-result-copy>span{color:#b45309}.paragraph-result-copy strong{display:block;margin-top:3px;font-size:18px;color:#172554}.paragraph-result-copy p{margin:4px 0 0!important;max-width:560px!important;font-size:12px!important;color:#475569!important}.paragraph-result-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.paragraph-result-actions a,.paragraph-result-actions button{white-space:nowrap}html[data-theme="dark"] .paragraph-result-path{background:#0f1b2d;border-color:#334763}html[data-theme="dark"] .paragraph-result-path.is-strong{background:rgba(6,78,59,.22);border-color:rgba(52,211,153,.3)}html[data-theme="dark"] .paragraph-result-path.needs-practice{background:rgba(120,53,15,.18);border-color:rgba(251,191,36,.28)}html[data-theme="dark"] .paragraph-result-copy strong{color:#e2e8f0}html[data-theme="dark"] .paragraph-result-copy p{color:#cbd5e1!important}@media(max-width:700px){.paragraph-result-path{align-items:stretch;flex-direction:column}.paragraph-result-actions{justify-content:stretch}.paragraph-result-actions a,.paragraph-result-actions button{width:100%}}/* ==========================================================
   v17.10.173 — Tests directory: Section Blocks dashboard
   Scoped to the tests index only. Individual test pages remain unchanged.
========================================================== */.tests-index-page.tests-dashboard-v173 .test-page-shell{width:min(1500px,calc(100% - 28px));margin:14px auto 56px}.tests-index-page.tests-dashboard-v173 .test-breadcrumbs{margin-bottom:10px}.tests-dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);min-height:235px;overflow:hidden;padding:34px 38px;border-radius:24px;background:linear-gradient(120deg,#5946f6 0%,#6677f2 52%,#57b8f8 100%);border:1px solid rgba(255,255,255,.25);box-shadow:0 18px 45px rgba(62,76,190,.18);color:#fff}.tests-dashboard-hero::after{content:"";position:absolute;right:21%;top:-40px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(2px)}.tests-dashboard-hero .test-eyebrow{color:#fff;opacity:.92}.tests-dashboard-hero h1{margin:8px 0 10px;font-size:clamp(42px,5vw,68px);line-height:1.03;color:#fff}.tests-dashboard-hero p{margin:0;max-width:760px;font-size:clamp(18px,2vw,23px);line-height:1.5;color:#f4f7ff}.tests-dashboard-hero-copy{align-self:center;position:relative;z-index:2}.tests-dashboard-hero-visual{position:relative;min-height:170px;z-index:2}.tests-stopwatch{position:absolute;right:90px;top:4px;font-size:132px;line-height:1;filter:drop-shadow(0 18px 28px rgba(31,41,55,.2))}.tests-keyboard-base{position:absolute;right:26px;bottom:-6px;font-size:112px;line-height:1;filter:drop-shadow(0 14px 24px rgba(31,41,55,.16))}.tests-mini-key{position:absolute;display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.6);box-shadow:0 12px 24px rgba(30,41,100,.16);font-weight:900;font-size:24px;color:#5b3ee9}.tests-mini-key.key-a{right:230px;bottom:52px;transform:rotate(-8deg)}.tests-mini-key.key-s{right:162px;bottom:28px;transform:rotate(6deg);color:#0f9f68}.tests-mini-key.key-d{right:16px;bottom:36px;transform:rotate(8deg);color:#1874e8}.tests-mini-key.key-f{right:22px;top:25px;transform:rotate(7deg);color:#7c3aed}.tests-dashboard-panel,.tests-full-library{margin-top:14px;padding:16px;border:1px solid var(--border-soft,#dbe4f0);border-radius:22px;background:var(--surface,#fff);box-shadow:0 12px 30px rgba(15,23,42,.05)}.tests-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.tests-dashboard-heading>div{display:flex;align-items:center;gap:12px}.tests-heading-icon{font-size:30px;line-height:1}.tests-dashboard-heading h2{margin:0;font-size:clamp(25px,3vw,36px);line-height:1.15}.tests-dashboard-heading p{margin:3px 0 0;color:var(--text-light,#64748b);font-size:14px;line-height:1.45}.tests-view-all{padding:9px 13px;border:1px solid #cfe0ff;border-radius:11px;color:#1769ff;font-weight:800;text-decoration:none;white-space:nowrap}.tests-popular-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.tests-popular-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:14px;border:1px solid #dfe7f2;border-radius:17px;background:#fff;text-decoration:none;color:var(--text,#0f172a);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tests-popular-card:hover{transform:translateY(-2px);border-color:#bfd4ff;box-shadow:0 10px 22px rgba(15,23,42,.08)}.tests-popular-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;font-size:28px;background:#e9f9ef}.tests-popular-card.pop-blue .tests-popular-icon{background:#e8f3ff}.tests-popular-card.pop-purple .tests-popular-icon{background:#f1eaff}.tests-popular-card.pop-orange .tests-popular-icon{background:#fff1d8}.tests-popular-card.pop-pink .tests-popular-icon{background:#ffe8f1}.tests-popular-card.pop-red .tests-popular-icon{background:#ffeaea}.tests-popular-card h3{margin:10px 0 5px;font-size:18px;line-height:1.2}.tests-popular-card p{margin:0;min-height:44px;color:var(--text-light,#64748b);font-size:13px;line-height:1.4}.tests-popular-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}.tests-popular-meta span{padding:5px 7px;border-radius:999px;background:#f4f7fb;color:#52627a;font-size:10px;font-weight:800}.tests-card-arrow{position:absolute;right:11px;bottom:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef4ff;color:#1769ff;font-weight:900}.tests-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tests-category-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:118px;padding:16px 50px 16px 16px;border-radius:18px;border:1px solid #d8e8ff;background:#eef6ff;text-decoration:none;color:var(--text,#0f172a)}.tests-category-card.cat-pink{background:#fff0f5;border-color:#ffd4e4}.tests-category-card.cat-orange{background:#fff8e7;border-color:#f7e2a9}.tests-category-card.cat-purple{background:#f6efff;border-color:#e7d8ff}.tests-category-card.cat-green{background:#eefaf0;border-color:#d4efd9}.tests-category-card.cat-cyan{background:#eafafa;border-color:#cceeed}.tests-category-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;font-size:29px;box-shadow:0 8px 18px rgba(15,23,42,.06)}.tests-category-card h3{margin:0 0 4px;font-size:19px}.tests-category-card p{margin:0;color:#52627a;font-size:13px;line-height:1.4}.tests-category-count{align-self:start;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.72);font-size:11px;font-weight:850;color:#52627a;white-space:nowrap}.tests-category-arrow{position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:31px;color:#1769ff}.tests-improver-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:14px;padding:17px 20px;border:1px solid #c8ddff;border-radius:20px;background:linear-gradient(90deg,#eef7ff,#e6f2ff);box-shadow:0 10px 24px rgba(23,105,255,.05)}.tests-improver-icon{font-size:45px}.tests-improver-strip h2{margin:0 0 3px;font-size:23px}.tests-improver-strip p{margin:0;color:#52627a;font-size:14px}.tests-improver-strip .test-primary-button{text-decoration:none;white-space:nowrap}.tests-full-library{padding:18px}.tests-library-group{margin-top:14px;border:1px solid #dfe7f2;border-radius:19px;overflow:hidden;background:#fbfdff}.tests-library-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;background:#edf5ff;border-bottom:1px solid #dbe7f7}.tests-library-group.cat-pink .tests-library-header{background:#fff0f5}.tests-library-group.cat-orange .tests-library-header{background:#fff8e8}.tests-library-group.cat-purple .tests-library-header{background:#f6efff}.tests-library-group.cat-green .tests-library-header{background:#eefaf1}.tests-library-group.cat-cyan .tests-library-header{background:#eafbfa}.tests-library-header>span{font-size:25px}.tests-library-header h3{margin:0;font-size:20px}.tests-library-header p{margin:2px 0 0;color:#64748b;font-size:11px}.tests-library-header a{font-size:11px;font-weight:800;color:#1769ff;text-decoration:none}.tests-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:11px}.tests-library-card{display:grid;grid-template-columns:42px minmax(0,1fr) 26px;align-items:center;gap:10px;min-height:76px;padding:10px;border:1px solid #e3e9f2;border-radius:13px;background:#fff;text-decoration:none;color:var(--text,#0f172a)}.tests-library-card:hover{border-color:#b8d1ff;box-shadow:0 8px 16px rgba(15,23,42,.05)}.tests-library-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#edf5ff;font-size:20px}.tests-library-card strong{display:block;font-size:14px;line-height:1.25}.tests-library-card div span{display:block;margin-top:3px;color:#64748b;font-size:11px;line-height:1.3}.tests-library-arrow{color:#1769ff;font-weight:900}.tests-index-page.tests-dashboard-v173 .test-content-card{border-radius:20px;box-shadow:0 10px 24px rgba(15,23,42,.04)}html[data-theme="dark"] .tests-dashboard-hero{background:linear-gradient(120deg,#3e32b6,#4056c4 52%,#2575a8)}html[data-theme="dark"] .tests-dashboard-panel,html[data-theme="dark"] .tests-full-library,html[data-theme="dark"] .tests-popular-card,html[data-theme="dark"] .tests-library-card{background:#101b2e;border-color:#40516a}html[data-theme="dark"] .tests-category-card,html[data-theme="dark"] .tests-category-card.cat-pink,html[data-theme="dark"] .tests-category-card.cat-orange,html[data-theme="dark"] .tests-category-card.cat-purple,html[data-theme="dark"] .tests-category-card.cat-green,html[data-theme="dark"] .tests-category-card.cat-cyan{background:#14233a;border-color:#40516a}html[data-theme="dark"] .tests-category-icon,html[data-theme="dark"] .tests-popular-icon,html[data-theme="dark"] .tests-library-icon{background:#1b2c46}html[data-theme="dark"] .tests-popular-card p,html[data-theme="dark"] .tests-category-card p,html[data-theme="dark"] .tests-library-card div span,html[data-theme="dark"] .tests-dashboard-heading p,html[data-theme="dark"] .tests-improver-strip p{color:#cbd5e1}html[data-theme="dark"] .tests-library-group{background:#0f1b30;border-color:#40516a}html[data-theme="dark"] .tests-library-header,html[data-theme="dark"] .tests-library-group.cat-pink .tests-library-header,html[data-theme="dark"] .tests-library-group.cat-orange .tests-library-header,html[data-theme="dark"] .tests-library-group.cat-purple .tests-library-header,html[data-theme="dark"] .tests-library-group.cat-green .tests-library-header,html[data-theme="dark"] .tests-library-group.cat-cyan .tests-library-header{background:#172842;border-color:#40516a}html[data-theme="dark"] .tests-improver-strip{background:linear-gradient(90deg,#132642,#172b48);border-color:#36557d}@media (prefers-color-scheme:dark){html[data-theme="system"] .tests-dashboard-hero{background:linear-gradient(120deg,#3e32b6,#4056c4 52%,#2575a8)}html[data-theme="system"] .tests-dashboard-panel,html[data-theme="system"] .tests-full-library,html[data-theme="system"] .tests-popular-card,html[data-theme="system"] .tests-library-card{background:#101b2e;border-color:#40516a}html[data-theme="system"] .tests-category-card{background:#14233a!important;border-color:#40516a!important}html[data-theme="system"] .tests-category-icon,html[data-theme="system"] .tests-popular-icon,html[data-theme="system"] .tests-library-icon{background:#1b2c46}html[data-theme="system"] .tests-popular-card p,html[data-theme="system"] .tests-category-card p,html[data-theme="system"] .tests-library-card div span,html[data-theme="system"] .tests-dashboard-heading p,html[data-theme="system"] .tests-improver-strip p{color:#cbd5e1}html[data-theme="system"] .tests-library-group{background:#0f1b30;border-color:#40516a}html[data-theme="system"] .tests-library-header{background:#172842!important;border-color:#40516a}html[data-theme="system"] .tests-improver-strip{background:linear-gradient(90deg,#132642,#172b48);border-color:#36557d}}@media(max-width:1250px){.tests-popular-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tests-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tests-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.tests-dashboard-hero{grid-template-columns:1fr;min-height:0;padding:28px}.tests-dashboard-hero-visual{min-height:150px}.tests-improver-strip{grid-template-columns:auto 1fr}.tests-improver-strip .test-primary-button{grid-column:1/-1;justify-self:start}.tests-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.tests-index-page.tests-dashboard-v173 .test-page-shell{width:min(100% - 16px,1500px);margin-top:10px}.tests-dashboard-hero{padding:22px 17px;border-radius:19px}.tests-dashboard-hero h1{font-size:clamp(36px,11vw,50px)}.tests-dashboard-hero p{font-size:16px}.tests-dashboard-hero-visual{min-height:120px}.tests-stopwatch{right:52px;font-size:90px}.tests-keyboard-base{right:8px;font-size:80px}.tests-mini-key{width:42px;height:42px;font-size:19px}.tests-mini-key.key-a{right:170px;bottom:30px}.tests-mini-key.key-s{right:120px;bottom:12px}.tests-mini-key.key-d{right:2px;bottom:20px}.tests-mini-key.key-f{right:2px;top:10px}.tests-dashboard-panel,.tests-full-library{padding:12px;border-radius:18px}.tests-dashboard-heading{align-items:flex-start;flex-direction:column}.tests-dashboard-heading>div{align-items:flex-start}.tests-view-all{align-self:flex-end;margin-top:-42px}.tests-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tests-category-grid{grid-template-columns:1fr}.tests-category-card{min-height:105px;grid-template-columns:54px minmax(0,1fr) auto}.tests-category-icon{width:50px;height:50px;font-size:24px}.tests-category-count{display:none}.tests-improver-strip{grid-template-columns:auto 1fr;padding:14px}.tests-improver-icon{font-size:36px}.tests-improver-strip h2{font-size:20px}.tests-library-grid{grid-template-columns:1fr}.tests-library-header a{display:none}}@media(max-width:420px){.tests-popular-grid{grid-template-columns:1fr}.tests-popular-card p{min-height:0}.tests-view-all{align-self:flex-start;margin-top:0}.tests-dashboard-hero-visual{display:none}.tests-dashboard-hero{padding-bottom:24px}}/* Source: /css/scalable-navigation-v17.4.4.css *//* ==========================================================
   TypingTutor.Online
   Scalable Site Navigation v17.4.4
========================================================== *//* ---------- Main tutor header ---------- */.mode-navigation{overflow:visible}.mode-more,.test-nav-more{position:relative;flex:0 0 auto}.mode-more > summary,.test-nav-more > summary{list-style:none;cursor:pointer;user-select:none}.mode-more > summary::-webkit-details-marker,.test-nav-more > summary::-webkit-details-marker{display:none}.mode-more-chevron{margin-left:1px;font-size:.8em;transition:transform .18s ease}.mode-more[open] .mode-more-chevron{transform:rotate(180deg)}.mode-more-menu,.test-nav-more-menu{position:absolute;z-index:1000;top:calc(100% + 10px);right:0;min-width:205px;padding:8px;border:1px solid var(--border, #dbe4f0);border-radius:14px;background:var(--surface, #ffffff);box-shadow:0 18px 45px rgba(15, 23, 42, .18)}.mode-more-menu .mode-button{width:100%;justify-content:flex-start;min-height:42px;padding:10px 12px;border-radius:9px}.mode-more-active > .mode-more-button,.mode-more[open] > .mode-more-button{color:var(--primary, #1769ff);background:var(--surface-alt, #eef4ff)}.mode-more-menu .mode-button-active{color:#ffffff;background:linear-gradient(135deg, var(--primary), var(--primary-hover))}/* ---------- Standalone test headers ---------- */.test-nav-more > summary{min-height:43px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;color:var(--text, #0f172a);font-weight:750;white-space:nowrap}.test-nav-more > summary:hover,.test-nav-more[open] > summary{color:#ffffff;background:var(--primary, #2563eb)}.test-nav-more-menu{display:grid;gap:4px}.test-nav-more-menu a{width:100%;min-height:42px;padding:10px 12px;display:flex;align-items:center;justify-content:flex-start;border-radius:9px;color:var(--text, #0f172a);background:transparent;text-decoration:none;font-weight:750;white-space:nowrap}.test-nav-more-menu a:hover{color:#ffffff;background:var(--primary, #2563eb)}html[data-theme="dark"] .mode-more-menu,html[data-theme="dark"] .test-nav-more-menu{background:#101b2e;border-color:#40516a;box-shadow:0 18px 48px rgba(0, 0, 0, .42)}@media (prefers-color-scheme: dark){html[data-theme="system"] .mode-more-menu,html[data-theme="system"] .test-nav-more-menu{background:#101b2e;border-color:#40516a;box-shadow:0 18px 48px rgba(0, 0, 0, .42)}}/* The menu can open outside the horizontal navigation row on desktop. */@media (min-width: 901px){#modeSwitcher,.mode-switcher-inner,.mode-navigation,.test-header-inner,.test-nav{overflow:visible}}/* Mobile keeps the compact horizontal row; dropdown opens below More. */@media (max-width: 900px){.mode-navigation,.test-nav{overflow-x:auto;overflow-y:visible;scrollbar-width:none}.mode-navigation::-webkit-scrollbar,.test-nav::-webkit-scrollbar{display:none}.mode-more-menu,.test-nav-more-menu{position:fixed;top:auto;right:12px;left:12px;margin-top:8px;min-width:0}}@media (max-width: 560px){.mode-more > summary.mode-button{min-width:68px;min-height:42px;padding:7px 8px;flex-direction:column;gap:3px;font-size:9px}.mode-more-chevron{display:none}}/* Source: /css/unified-site-header-v17.4.6.css *//* ==========================================================
   TypingTutor.Online
   Unified Main + Tests Header v17.4.6
========================================================== *//* Both the tutor and standalone test pages now use the same shell. */#header,.test-site-header{box-sizing:border-box;position:relative;z-index:100;width:100%;min-height:78px;padding-top:max(9px, env(safe-area-inset-top));padding-bottom:9px;background:var(--surface, #ffffff);border-bottom:1px solid var(--border, #dbe4f0);box-shadow:var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, .08))}#header .header-inner,.test-header-inner{box-sizing:border-box;width:min(1480px, calc(100% - 34px));min-height:58px;margin-inline:auto;padding:0;display:grid;grid-template-columns:minmax(235px, 300px) minmax(0, 1fr) auto;gap:clamp(12px, 2vw, 28px);align-items:center}/* Identical logo footprint on every page. */#header .logo,.test-logo{min-width:0;display:flex;align-items:center;justify-self:start;color:inherit;text-decoration:none}#header .site-logo-picture,.test-logo-stack{position:relative;display:block;width:min(280px, 100%);min-width:0}#header .site-logo-image,.test-logo img{display:block;width:min(280px, 100%);height:auto;max-height:58px;object-fit:contain;object-position:left center}/* Identical navigation positioning. */#header .primary-mode-navigation,.test-nav{min-width:0;width:100%;margin:0;display:flex;align-items:center;justify-content:center;gap:clamp(4px, 1.1vw, 18px);overflow:visible}#header #modeSwitcher,#header .mode-switcher-inner,#header .mode-navigation{min-width:0;width:auto}#header .mode-navigation{gap:clamp(4px, 1.1vw, 18px)}/* Shared button geometry and typography. */#header .lesson-home-nav-button,#header .mode-navigation > .mode-button,#header .mode-more > summary.mode-button,.test-nav > a,.test-nav-more > summary{box-sizing:border-box;min-width:0;min-height:46px;margin:0;padding:10px clamp(12px, 1.15vw, 17px);display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;color:var(--text, #172235);background:transparent;border:1px solid transparent;border-radius:11px;font:inherit;font-size:clamp(12px, .92vw, 15px);font-weight:750;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}#header .mode-button-icon,#header .lesson-home-nav-icon,.test-nav .mode-button-icon,.test-nav-more-menu .mode-button-icon{display:inline-flex;flex:0 0 20px;width:20px;min-width:20px;height:20px;align-items:center;justify-content:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:18px;font-weight:400;line-height:20px;text-align:center;transform:translateY(-1px)}#header .mode-button-text,#header .lesson-home-nav-label,.test-nav .mode-button-text{display:inline-flex;align-items:center;line-height:1}#header #themeButton > span:first-child,.test-header-inner > #themeButton > span:first-child{display:inline-flex;flex:0 0 20px;width:20px;height:20px;align-items:center;justify-content:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:18px;font-weight:400;line-height:20px}#header .lesson-home-nav-button:hover,#header .mode-navigation > .mode-button:hover,#header .mode-more > summary.mode-button:hover,.test-nav > a:hover,.test-nav-more > summary:hover,.test-nav-more[open] > summary{color:var(--primary, #1769ff);background:var(--surface-alt, #f2f7ff);border-color:#dbe8fa}/* Active button has the same appearance regardless of the current page. */#header .lesson-home-nav-button-active,#header .mode-navigation > .mode-button-active,.test-nav > a[aria-current="page"]{color:#ffffff !important;background:linear-gradient(135deg, #246df0, #285ee5) !important;border-color:rgba(31, 92, 222, .55) !important;box-shadow:0 10px 23px rgba(47, 103, 246, .24) !important}#header .lesson-home-nav-button-active:hover,#header .mode-navigation > .mode-button-active:hover,.test-nav > a[aria-current="page"]:hover{color:#ffffff !important;background:linear-gradient(135deg, #2165df, #2457d5) !important;border-color:rgba(31, 92, 222, .64) !important}/* Theme control occupies the same final grid column. */#header .header-tools,.test-header-inner > #themeButton{justify-self:end}#header #themeButton,.test-header-inner > #themeButton{box-sizing:border-box;min-width:108px;min-height:46px;margin:0;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#ffffff;background:var(--primary, #1769ff);border:0;border-radius:11px;font:inherit;font-size:clamp(12px, .92vw, 15px);font-weight:750;line-height:1;white-space:nowrap;cursor:pointer}#header #themeButton:hover,.test-header-inner > #themeButton:hover{color:#ffffff;background:var(--primary-hover, #0f5ae0)}/* Dropdown alignment is identical in both templates. */#header .mode-more,.test-nav-more{position:relative;flex:0 0 auto}#header .mode-more-menu,.test-nav-more-menu{top:calc(100% + 10px);right:0}html[data-theme="dark"] #header,html[data-theme="dark"] .test-site-header{background:#101b2e;border-color:#40516a}html[data-theme="dark"] #header .lesson-home-nav-button,html[data-theme="dark"] #header .mode-navigation > .mode-button,html[data-theme="dark"] #header .mode-more > summary.mode-button,html[data-theme="dark"] .test-nav > a,html[data-theme="dark"] .test-nav-more > summary{color:#dce7f7}html[data-theme="dark"] #header .lesson-home-nav-button:hover,html[data-theme="dark"] #header .mode-navigation > .mode-button:hover,html[data-theme="dark"] #header .mode-more > summary.mode-button:hover,html[data-theme="dark"] .test-nav > a:hover,html[data-theme="dark"] .test-nav-more > summary:hover,html[data-theme="dark"] .test-nav-more[open] > summary{color:#ffffff;background:#17263c;border-color:#304662}@media (prefers-color-scheme: dark){html[data-theme="system"] #header,html[data-theme="system"] .test-site-header{background:#101b2e;border-color:#40516a}html[data-theme="system"] #header .lesson-home-nav-button,html[data-theme="system"] #header .mode-navigation > .mode-button,html[data-theme="system"] #header .mode-more > summary.mode-button,html[data-theme="system"] .test-nav > a,html[data-theme="system"] .test-nav-more > summary{color:#dce7f7}}@media (max-width: 1180px){#header .header-inner,.test-header-inner{grid-template-columns:minmax(190px, 225px) minmax(0, 1fr) auto;gap:10px}#header .site-logo-picture,#header .site-logo-image,.test-logo-stack,.test-logo img{width:min(225px, 100%)}#header .primary-mode-navigation,#header .mode-navigation,.test-nav{gap:3px}#header .lesson-home-nav-button,#header .mode-navigation > .mode-button,#header .mode-more > summary.mode-button,.test-nav > a,.test-nav-more > summary{min-height:42px;padding-inline:10px;font-size:12px}#header #themeButton,.test-header-inner > #themeButton{min-height:42px;font-size:12px}}@media (max-width: 900px){#header,.test-site-header{min-height:0;padding-top:max(7px, env(safe-area-inset-top));padding-bottom:7px}#header .header-inner,.test-header-inner{width:min(100% - 22px, 1480px);min-height:0;display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:8px 12px}#header .primary-mode-navigation,.test-nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding:2px 0 3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}#header .primary-mode-navigation::-webkit-scrollbar,.test-nav::-webkit-scrollbar{display:none}#header .header-tools,.test-header-inner > #themeButton{grid-column:2;grid-row:1}.test-logo{grid-column:1;grid-row:1}}@media (max-width: 560px){#header .header-inner,.test-header-inner{width:min(100% - 14px, 1480px)}#header .site-logo-picture,#header .site-logo-image,.test-logo-stack,.test-logo img{width:min(190px, 100%)}#header .lesson-home-nav-button,#header .mode-navigation > .mode-button,#header .mode-more > summary.mode-button,.test-nav > a,.test-nav-more > summary{min-width:68px;min-height:42px;padding:7px 8px;flex-direction:column;gap:3px;font-size:9px}#header .mode-more-chevron,.test-nav-more > summary .mode-more-chevron{display:none}#header #themeButton,.test-header-inner > #themeButton{min-width:88px;min-height:42px;padding-inline:10px;font-size:11px}#header .mode-button-icon,#header .lesson-home-nav-icon,.test-nav .mode-button-icon,.test-nav-more-menu .mode-button-icon{flex-basis:19px;width:19px;min-width:19px;height:19px;font-size:17px;line-height:19px}}@media (prefers-reduced-motion: reduce){#header .lesson-home-nav-button,#header .mode-navigation > .mode-button,#header .mode-more > summary.mode-button,.test-nav > a,.test-nav-more > summary{transition:none}}/* ==========================================================
   SHARED SECTION FOOTER v17.5.2
========================================================== */.test-footer,.certificate-footer,.blog-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;width:min(1480px, calc(100% - 32px));margin:28px auto 0;padding:24px 0 30px;color:var(--muted, #64748b);font-size:13px}.shared-footer-links{display:flex;flex-wrap:wrap;gap:9px 17px}.shared-footer-links a{color:inherit;text-decoration:none}.shared-footer-links a:hover,.shared-footer-links a:focus-visible{color:var(--primary, #1769ff)}@media (max-width: 760px){.test-footer,.certificate-footer,.blog-footer{align-items:flex-start;flex-direction:column}}/* Source: /css/universal-footer-v17.10.21.css *//* TypingTutor.Online global footer v17.10.21 */.universal-site-footer{display:block;box-sizing:border-box;width:100%;margin-top:48px;padding:36px clamp(18px,4vw,56px) 24px;color:var(--text-light,#64748b);background:linear-gradient(180deg,#fbfdff 0%,#f6f9fd 100%);border-top:1px solid var(--border,#d9e2ef);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.universal-footer-inner{box-sizing:border-box;width:min(1500px,100%);margin:0 auto}.universal-footer-main{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,2.15fr);gap:clamp(32px,5vw,72px);align-items:start}.universal-footer-brand{display:grid;gap:9px;max-width:340px;text-align:left}.universal-footer-home{width:max-content;color:var(--text,#0f172a) !important;font-size:18px;font-weight:850;line-height:1.25;text-decoration:none;letter-spacing:-.01em}.universal-footer-home:hover,.universal-footer-home:focus-visible{color:var(--primary,#1769ff) !important}.universal-footer-brand span{color:var(--text-light,#64748b);font-size:13px;font-weight:550;line-height:1.6}.universal-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px clamp(22px,4vw,54px)}.universal-footer-group{min-width:0}.universal-footer-group>strong{display:block;margin:0 0 10px;color:var(--text,#0f172a);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.universal-footer-group-links{display:grid;gap:8px}.universal-footer-group-links a{width:max-content;max-width:100%;color:var(--text-light,#64748b);font-size:13px;font-weight:700;line-height:1.45;text-decoration:none;transition:color .16s ease,transform .16s ease}.universal-footer-group-links a:hover,.universal-footer-group-links a:focus-visible{color:var(--primary,#1769ff);text-decoration:underline;text-underline-offset:3px}.universal-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--border,#d9e2ef) 82%,transparent);color:var(--text-light,#64748b);font-size:11px;font-weight:600;line-height:1.5}html[data-theme="dark"] .universal-site-footer{color:#94a3b8;background:#0f172a;border-top-color:#334155}html[data-theme="dark"] .universal-footer-home,html[data-theme="dark"] .universal-footer-group>strong{color:#f8fafc!important}html[data-theme="dark"] .universal-footer-brand span,html[data-theme="dark"] .universal-footer-group-links a,html[data-theme="dark"] .universal-footer-bottom{color:#a8b5c7}html[data-theme="dark"] .universal-footer-bottom{border-top-color:#334155}html[data-theme="dark"] .universal-footer-home:hover,html[data-theme="dark"] .universal-footer-home:focus-visible,html[data-theme="dark"] .universal-footer-group-links a:hover,html[data-theme="dark"] .universal-footer-group-links a:focus-visible{color:#60a5fa!important}@media(prefers-color-scheme:dark){html[data-theme="system"] .universal-site-footer{color:#94a3b8;background:#0f172a;border-top-color:#334155}html[data-theme="system"] .universal-footer-home,html[data-theme="system"] .universal-footer-group>strong{color:#f8fafc!important}html[data-theme="system"] .universal-footer-brand span,html[data-theme="system"] .universal-footer-group-links a,html[data-theme="system"] .universal-footer-bottom{color:#a8b5c7}html[data-theme="system"] .universal-footer-bottom{border-top-color:#334155}html[data-theme="system"] .universal-footer-home:hover,html[data-theme="system"] .universal-footer-home:focus-visible,html[data-theme="system"] .universal-footer-group-links a:hover,html[data-theme="system"] .universal-footer-group-links a:focus-visible{color:#60a5fa!important}}@media(max-width:900px){.universal-site-footer{padding-top:30px}.universal-footer-main{grid-template-columns:1fr;gap:26px}.universal-footer-brand{max-width:620px}.universal-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.universal-site-footer{margin-top:32px;padding:28px 18px 20px}.universal-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.universal-footer-group:last-child{grid-column:1/-1}.universal-footer-group:last-child .universal-footer-group-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.universal-footer-group-links a{width:auto;padding:2px 0}.universal-footer-bottom{align-items:flex-start;flex-direction:column;gap:5px;margin-top:24px}}@media(max-width:390px){.universal-footer-nav{grid-template-columns:1fr}.universal-footer-group:last-child{grid-column:auto}.universal-footer-group:last-child .universal-footer-group-links{grid-template-columns:1fr}}@media print{.universal-site-footer{display:none!important}}/* Source: /css/universal-site-header-v17.7.2.css *//* ==========================================================
   TypingTutor.Online — Universal Site Header v17.7.2
   One complete header for tutor, tests, games, kids, blog,
   certificates, information pages, sitemap, and 404.
========================================================== */#header,.test-site-header{box-sizing:border-box !important;position:relative;z-index:1000;width:100%;min-height:80px;padding:max(9px, env(safe-area-inset-top)) 0 9px;background:var(--surface, #ffffff);border-bottom:1px solid var(--border, #dbe4f0);box-shadow:0 2px 10px rgba(15, 23, 42, .06)}#header .header-inner,.test-header-inner{box-sizing:border-box;width:min(1660px, calc(100% - 34px));min-height:60px;margin-inline:auto;padding:0;display:grid;grid-template-columns:minmax(235px, 300px) minmax(0, 1fr) auto;gap:clamp(10px, 1.4vw, 24px);align-items:center}#header .logo,.test-logo{min-width:0;display:flex;align-items:center;justify-self:start;color:inherit;text-decoration:none}#header .site-logo-picture,.test-logo-stack{position:relative;display:grid;width:min(280px, 100%);min-width:0}#header .site-logo-picture,#header .site-logo-picture-light,#header .site-logo-picture-dark,.test-logo-stack > img{grid-area:1/1}#header .site-logo-image,.test-logo img{display:block;width:min(280px, 100%);height:auto;max-height:60px;object-fit:contain;object-position:left center}#header .site-logo-picture-dark,.test-logo-dark{display:none !important}html[data-theme="dark"] #header .site-logo-picture-light,html[data-theme="dark"] .test-logo-light{display:none !important}html[data-theme="dark"] #header .site-logo-picture-dark,html[data-theme="dark"] .test-logo-dark{display:block !important}#header .primary-mode-navigation,.test-nav{min-width:0;width:100%;margin:0;display:flex;align-items:center;justify-content:center;gap:clamp(2px, .72vw, 12px);overflow:visible}#header #modeSwitcher,#header .mode-switcher-inner,#header .mode-navigation{min-width:0;width:auto}#header .mode-navigation{display:flex;align-items:center;gap:clamp(2px, .72vw, 12px)}#header .mode-switcher-heading{display:none !important}#header .lesson-home-nav-button,#header .mode-navigation > .mode-button,#header .mode-more > summary.mode-button,.test-nav > a,.test-nav-more > summary{box-sizing:border-box;min-width:0;min-height:48px;margin:0;padding:10px clamp(9px, .78vw, 15px);display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;color:var(--text, #172235);background:transparent;border:1px solid transparent;border-radius:12px;font:inherit;font-size:clamp(12px, .84vw, 15px);font-weight:750;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}#header .mode-button-icon,#header .lesson-home-nav-icon,.test-nav .mode-button-icon,.test-nav-more-menu .mode-button-icon{display:inline-flex;flex:0 0 22px;width:22px;min-width:22px;height:22px;align-items:center;justify-content:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:19px;font-weight:400;line-height:22px;text-align:center}#header .mode-button-text,#header .lesson-home-nav-label,.test-nav .mode-button-text{display:inline-flex;align-items:center;line-height:1}#header .lesson-home-nav-button:hover,#header .mode-navigation > .mode-button:hover,#header .mode-more > summary.mode-button:hover,.test-nav > a:hover,.test-nav-more > summary:hover,.test-nav-more[open] > summary{color:var(--primary, #1769ff);background:var(--surface-alt, #f2f7ff);border-color:#dbe8fa}#header .lesson-home-nav-button-active,#header .mode-navigation > .mode-button-active,#header .mode-more.mode-more-active > summary,.test-nav > a[aria-current="page"],.test-nav > a.mode-button-active,.test-nav-more.mode-more-active > summary{color:#ffffff !important;background:linear-gradient(135deg, #246df0, #285ee5) !important;border-color:rgba(31, 92, 222, .58) !important;box-shadow:0 10px 24px rgba(47, 103, 246, .24) !important}#header .header-tools,.test-header-inner > #themeButton{justify-self:end}#header #themeButton,.test-header-inner > #themeButton{box-sizing:border-box;min-width:116px;min-height:48px;margin:0;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#ffffff;background:linear-gradient(135deg, #246df0, #285ee5);border:0;border-radius:12px;font:inherit;font-size:clamp(12px, .84vw, 15px);font-weight:750;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 20px rgba(47, 103, 246, .20)}#header #themeButton > span:first-child,.test-header-inner > #themeButton > span:first-child{display:inline-flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:19px;line-height:22px}.theme-button-arrow,.mode-more-chevron{font-size:10px;opacity:.8}#header .mode-more,.test-nav-more{position:relative;flex:0 0 auto}#header .mode-more > summary,.test-nav-more > summary{list-style:none}#header .mode-more > summary::-webkit-details-marker,.test-nav-more > summary::-webkit-details-marker{display:none}#header .mode-more-menu,.test-nav-more-menu{box-sizing:border-box;position:absolute;z-index:1200;top:calc(100% + 10px);right:0;width:244px;padding:8px;display:none;gap:4px;background:var(--surface-elevated, #ffffff);border:1px solid var(--border, #dbe4f0);border-radius:14px;box-shadow:0 18px 42px rgba(15, 23, 42, .18)}#header .mode-more[open] .mode-more-menu,.test-nav-more[open] .test-nav-more-menu{display:grid}#header .mode-more-menu .mode-button,.test-nav-more-menu a,.test-nav-more-menu button{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:flex-start;gap:10px;color:var(--text, #172235);background:transparent;border:1px solid transparent;border-radius:10px;font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}#header .mode-more-menu .mode-button:hover,.test-nav-more-menu a:hover,.test-nav-more-menu button:hover,.test-nav-more-menu a[aria-current="page"]{color:var(--primary, #1769ff);background:var(--surface-alt, #f2f7ff);border-color:var(--border, #dbe4f0)}/* Theme chooser: included here so simple information pages match the app. */.theme-menu{position:fixed;z-index:10050;width:250px;padding:8px;background:var(--surface-elevated, #ffffff);border:1px solid var(--border, #dbe4f0);border-radius:14px;box-shadow:0 18px 45px rgba(15, 23, 42, .22)}.theme-menu.hidden{display:none !important}.theme-option{display:grid;grid-template-columns:36px 1fr 22px;gap:10px;align-items:center;width:100%;padding:10px;color:var(--text, #172235);text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer}.theme-option:hover,.theme-option:focus-visible{background:var(--surface-alt, #f2f7ff);border-color:var(--border, #dbe4f0);outline:none}.theme-option-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--surface-alt, #f2f7ff);border-radius:9px;font-size:18px}.theme-option-copy{display:grid;gap:2px}.theme-option-copy strong{color:var(--text, #172235);font-size:13px}.theme-option-copy small{color:var(--text-light, #718096);font-size:10px}.theme-option-check{color:var(--primary, #1769ff);font-weight:900;opacity:0}.theme-option-selected{background:var(--primary-light, #edf4ff);border-color:var(--border, #dbe4f0)}.theme-option-selected .theme-option-check{opacity:1}html[data-theme="dark"] #header,html[data-theme="dark"] .test-site-header{background:#101b2e;border-color:#40516a}html[data-theme="dark"] #header .lesson-home-nav-button,html[data-theme="dark"] #header .mode-navigation > .mode-button,html[data-theme="dark"] #header .mode-more > summary.mode-button,html[data-theme="dark"] .test-nav > a,html[data-theme="dark"] .test-nav-more > summary,html[data-theme="dark"] #header .mode-more-menu .mode-button,html[data-theme="dark"] .test-nav-more-menu a,html[data-theme="dark"] .test-nav-more-menu button{color:#dce7f7}html[data-theme="dark"] #header .mode-more-menu,html[data-theme="dark"] .test-nav-more-menu,html[data-theme="dark"] .theme-menu{background:#101b2e;border-color:#40516a}html[data-theme="dark"] .theme-option,html[data-theme="dark"] .theme-option-copy strong{color:#e7eef9}html[data-theme="dark"] .theme-option-copy small{color:#9aabc2}html[data-theme="dark"] .theme-option-icon,html[data-theme="dark"] .theme-option:hover,html[data-theme="dark"] .theme-option:focus-visible,html[data-theme="dark"] #header .mode-more-menu .mode-button:hover,html[data-theme="dark"] .test-nav-more-menu a:hover,html[data-theme="dark"] .test-nav-more-menu button:hover{background:#17263c;border-color:#304662}@media (prefers-color-scheme: dark){html[data-theme="system"] #header,html[data-theme="system"] .test-site-header{background:#101b2e;border-color:#40516a}html[data-theme="system"] #header .site-logo-picture-light,html[data-theme="system"] .test-logo-light{display:none !important}html[data-theme="system"] #header .site-logo-picture-dark,html[data-theme="system"] .test-logo-dark{display:block !important}html[data-theme="system"] #header .lesson-home-nav-button,html[data-theme="system"] #header .mode-navigation > .mode-button,html[data-theme="system"] #header .mode-more > summary.mode-button,html[data-theme="system"] .test-nav > a,html[data-theme="system"] .test-nav-more > summary,html[data-theme="system"] #header .mode-more-menu .mode-button,html[data-theme="system"] .test-nav-more-menu a,html[data-theme="system"] .test-nav-more-menu button{color:#dce7f7}html[data-theme="system"] #header .mode-more-menu,html[data-theme="system"] .test-nav-more-menu,html[data-theme="system"] .theme-menu{background:#101b2e;border-color:#40516a}}@media (max-width: 1360px){#header .header-inner,.test-header-inner{grid-template-columns:minmax(205px, 235px) minmax(0, 1fr) auto;gap:8px}#header .site-logo-picture,#header .site-logo-image,.test-logo-stack,.test-logo img{width:min(235px, 100%)}#header .lesson-home-nav-button,#header .mode-navigation > .mode-button,#header .mode-more > summary.mode-button,.test-nav > a,.test-nav-more > summary{min-height:44px;padding-inline:8px;gap:6px;font-size:12px}#header #themeButton,.test-header-inner > #themeButton{min-width:104px;min-height:44px;padding-inline:11px;font-size:12px}}@media (max-width: 1040px){#header,.test-site-header{min-height:0;padding-top:max(7px, env(safe-area-inset-top));padding-bottom:7px}#header .header-inner,.test-header-inner{width:min(100% - 22px, 1660px);min-height:0;grid-template-columns:minmax(0, 1fr) auto;gap:8px 12px}#header .primary-mode-navigation,.test-nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:flex-start;overflow-x:auto;overflow-y:visible;padding:2px 0 3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}#header .primary-mode-navigation::-webkit-scrollbar,.test-nav::-webkit-scrollbar{display:none}#header .header-tools,.test-header-inner > #themeButton{grid-column:2;grid-row:1}.test-logo{grid-column:1;grid-row:1}}@media (max-width: 590px){#header .header-inner,.test-header-inner{width:min(100% - 14px, 1660px)}#header .site-logo-picture,#header .site-logo-image,.test-logo-stack,.test-logo img{width:min(190px, 100%)}#header .lesson-home-nav-button,#header .mode-navigation > .mode-button,#header .mode-more > summary.mode-button,.test-nav > a,.test-nav-more > summary{min-width:68px;min-height:44px;padding:7px 8px;flex-direction:column;gap:3px;font-size:9px}#header .mode-more-chevron,.test-nav-more .mode-more-chevron{display:none}#header #themeButton,.test-header-inner > #themeButton{min-width:48px;min-height:42px;padding:8px 10px}#header #themeButton > span:nth-child(2),#header #themeButton > span:last-child,.test-header-inner > #themeButton > span:nth-child(2),.test-header-inner > #themeButton > span:last-child{display:none}}/* ==========================================================
   v17.10.182 — Reliable mobile More menu
   Explicit JS toggling + fixed viewport panel prevents the menu from
   opening outside the horizontally scrolling navigation in Chrome mobile.
========================================================== */@media (max-width: 1040px),(pointer: coarse){#header .mode-more-menu,.test-nav-more-menu{position:fixed !important;z-index:10050 !important;top:var(--site-more-top, 118px) !important;right:12px !important;bottom:auto !important;left:12px !important;width:auto !important;max-width:none !important;max-height:min(var(--site-more-max-height, 70vh), 480px) !important;margin:0 !important;overflow-x:hidden !important;overflow-y:auto !important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:16px;box-shadow:0 20px 52px rgba(15, 23, 42, .24)}#header .mode-more[open] > summary.mode-button,.test-nav-more[open] > summary{color:var(--primary, #1769ff);background:var(--surface-alt, #f2f7ff);border-color:var(--border, #dbe4f0)}}/* v17.10.327: readable hover, open and keyboard-focus states in both dark modes. */html[data-theme="dark"] #header .lesson-home-nav-button:is(:hover,:focus-visible),html[data-theme="dark"] #header .mode-navigation > .mode-button:is(:hover,:focus-visible),html[data-theme="dark"] #header .mode-more > summary.mode-button:is(:hover,:focus-visible),html[data-theme="dark"] #header .mode-more[open] > summary.mode-button,html[data-theme="dark"] .test-nav > a:is(:hover,:focus-visible),html[data-theme="dark"] .test-nav-more > summary:is(:hover,:focus-visible),html[data-theme="dark"] .test-nav-more[open] > summary,html[data-theme="dark"] #header .mode-more-menu .mode-button:is(:hover,:focus-visible),html[data-theme="dark"] .test-nav-more-menu a:is(:hover,:focus-visible),html[data-theme="dark"] .test-nav-more-menu button:is(:hover,:focus-visible){color:#e7eef9;background:#213a5f;border-color:#526d91;text-decoration:none}@media (prefers-color-scheme: dark){html[data-theme="system"] #header .lesson-home-nav-button:is(:hover,:focus-visible),html[data-theme="system"] #header .mode-navigation > .mode-button:is(:hover,:focus-visible),html[data-theme="system"] #header .mode-more > summary.mode-button:is(:hover,:focus-visible),html[data-theme="system"] #header .mode-more[open] > summary.mode-button,html[data-theme="system"] .test-nav > a:is(:hover,:focus-visible),html[data-theme="system"] .test-nav-more > summary:is(:hover,:focus-visible),html[data-theme="system"] .test-nav-more[open] > summary,html[data-theme="system"] #header .mode-more-menu .mode-button:is(:hover,:focus-visible),html[data-theme="system"] .test-nav-more-menu a:is(:hover,:focus-visible),html[data-theme="system"] .test-nav-more-menu button:is(:hover,:focus-visible){color:#e7eef9;background:#213a5f;border-color:#526d91;text-decoration:none}}/* Source: /css/universal-logo-visibility-v17.7.6.css *//* ==========================================================
   TypingTutor.Online — Universal Logo Visibility v17.7.6

   Nested sections use two theme-aware logo images inside
   .test-logo-stack. Older section styles mixed absolute
   positioning, display switching and opacity switching, which
   could collapse the logo container or hide both images.

   This final stylesheet creates one stable overlapping grid,
   reserves the correct header space and switches only opacity.
========================================================== */.test-logo{box-sizing:border-box !important;width:min(280px, 100%) !important;min-width:190px !important;min-height:58px !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;overflow:visible !important}.test-logo-stack{box-sizing:border-box !important;position:relative !important;display:grid !important;grid-template-columns:minmax(0, 1fr) !important;grid-template-rows:minmax(0, 1fr) !important;width:280px !important;max-width:100% !important;min-width:190px !important;min-height:58px !important;aspect-ratio:280/58 !important;overflow:visible !important;isolation:isolate}.test-logo-stack > .test-logo-light,.test-logo-stack > .test-logo-dark{box-sizing:border-box !important;grid-area:1/1 !important;position:static !important;inset:auto !important;z-index:1;display:block !important;width:100% !important;max-width:280px !important;height:100% !important;min-height:0 !important;max-height:58px !important;margin:0 !important;object-fit:contain !important;object-position:left center !important;pointer-events:none !important;transition:opacity .16s ease,visibility .16s ease !important}/* Reliable default, including pages before ThemeManager runs. */.test-logo-stack > .test-logo-light{opacity:1 !important;visibility:visible !important}.test-logo-stack > .test-logo-dark{opacity:0 !important;visibility:hidden !important}html[data-theme="light"] .test-logo-stack > .test-logo-light,html[data-resolved-theme="light"] .test-logo-stack > .test-logo-light{opacity:1 !important;visibility:visible !important}html[data-theme="light"] .test-logo-stack > .test-logo-dark,html[data-resolved-theme="light"] .test-logo-stack > .test-logo-dark{opacity:0 !important;visibility:hidden !important}html[data-theme="dark"] .test-logo-stack > .test-logo-light,html[data-resolved-theme="dark"] .test-logo-stack > .test-logo-light{opacity:0 !important;visibility:hidden !important}html[data-theme="dark"] .test-logo-stack > .test-logo-dark,html[data-resolved-theme="dark"] .test-logo-stack > .test-logo-dark{opacity:1 !important;visibility:visible !important}@media (prefers-color-scheme: dark){html[data-theme="system"] .test-logo-stack > .test-logo-light{opacity:0 !important;visibility:hidden !important}html[data-theme="system"] .test-logo-stack > .test-logo-dark{opacity:1 !important;visibility:visible !important}}@media (prefers-color-scheme: light){html[data-theme="system"] .test-logo-stack > .test-logo-light{opacity:1 !important;visibility:visible !important}html[data-theme="system"] .test-logo-stack > .test-logo-dark{opacity:0 !important;visibility:hidden !important}}@media (max-width: 760px){.test-logo{width:min(220px, 100%) !important;min-width:165px !important;min-height:46px !important}.test-logo-stack{width:220px !important;min-width:165px !important;min-height:46px !important}.test-logo-stack > .test-logo-light,.test-logo-stack > .test-logo-dark{max-width:220px !important;max-height:46px !important}}@media (max-width: 440px){.test-logo{width:178px !important;min-width:150px !important;min-height:37px !important}.test-logo-stack{width:178px !important;min-width:150px !important;min-height:37px !important}.test-logo-stack > .test-logo-light,.test-logo-stack > .test-logo-dark{max-width:178px !important;max-height:37px !important}}@media (prefers-reduced-motion: reduce){.test-logo-stack > .test-logo-light,.test-logo-stack > .test-logo-dark{transition:none !important}}/* Source: /css/universal-selection-v17.7.8.css *//* ==========================================================
   TypingTutor.Online — high-contrast text selection v17.7.8
   ========================================================== *//*
 * Use one strong, predictable selection treatment everywhere.
 * White text on saturated blue remains readable on both light and dark
 * surfaces and avoids the pale-selection/white-text conflict seen on blogs.
 */*::selection{color:#ffffff !important;background:#075fe4 !important;text-shadow:none !important;-webkit-text-fill-color:#ffffff !important}*::-moz-selection{color:#ffffff !important;background:#075fe4 !important;text-shadow:none !important}input::selection,textarea::selection,[contenteditable="true"]::selection{color:#ffffff !important;background:#075fe4 !important;-webkit-text-fill-color:#ffffff !important}input::-moz-selection,textarea::-moz-selection,[contenteditable="true"]::-moz-selection{color:#ffffff !important;background:#075fe4 !important}/* Extra contrast for explicit dark mode and System mode on dark devices. */html[data-theme="dark"] *::selection{color:#ffffff !important;background:#0057d9 !important;-webkit-text-fill-color:#ffffff !important}html[data-theme="dark"] *::-moz-selection{color:#ffffff !important;background:#0057d9 !important}@media (prefers-color-scheme: dark){html[data-theme="system"] *::selection{color:#ffffff !important;background:#0057d9 !important;-webkit-text-fill-color:#ffffff !important}html[data-theme="system"] *::-moz-selection{color:#ffffff !important;background:#0057d9 !important}}/* Source: /css/global-workspace-v17.8.2.css *//* ==========================================================
   TypingTutor.Online — Global Wide Workspace v17.8.2
   A consistent outer width across the tutor and every public
   section. Reading columns remain intentionally narrower.
========================================================== */:root{--tto-workspace-max:1500px;--tto-workspace-gutter:clamp(14px, 1.7vw, 32px);--max-width:var(--tto-workspace-max)}/* Main tutor, mode dashboards and progress bars */.site-shell,#courseModePanel,.feature-placeholder,#statisticsDashboard,.statistics-course-progress,.daily-practice-summary,.settings-dashboard,.achievements-dashboard,.more-typing-resources-inner,.typing-learning-content-inner{box-sizing:border-box;width:min(
        var(--tto-workspace-max),
        calc(100% - (2 * var(--tto-workspace-gutter)))
    );max-width:var(--tto-workspace-max);margin-inline:auto}/* Standalone site sections */.test-page-shell,.games-shell,.kids-shell,.blog-shell,.certificate-shell,.share-shell,.lessons-page-shell,.page-shell{box-sizing:border-box;width:min(
        var(--tto-workspace-max),
        calc(100% - (2 * var(--tto-workspace-gutter)))
    );max-width:var(--tto-workspace-max);margin-inline:auto}/* Footer follows the same visual edges as the page content. */.universal-footer-inner,.site-footer-inner{width:min(var(--tto-workspace-max), 100%);max-width:var(--tto-workspace-max)}/* Align horizontal section navigation with the wider workspace. */.games-subnav,.kids-subnav{padding-inline:max(
        var(--tto-workspace-gutter),
        calc((100vw - var(--tto-workspace-max)) / 2)
    )}/* Keep long-form reading comfortable even inside a wide shell. */.blog-article,.blog-article-body,.page-prose,.content-prose,.certificate-faq > p,.certificate-faq details,.typing-learning-heading{max-width:980px}/* Wide desktop dashboards benefit from balanced multi-column cards. */@media (min-width: 1280px){.statistics-summary-grid-complete{grid-template-columns:repeat(6, minmax(0, 1fr))}.statistics-ranking-grid,.statistics-trend-grid{gap:18px}.games-grid,.kids-path-grid,.kids-feature-grid,.kids-test-grid,.kids-game-grid,.kids-badge-grid{gap:20px}}/* Maintain generous but safe gutters on tablets and phones. */@media (max-width: 900px){:root{--tto-workspace-gutter:11px}}@media (max-width: 560px){:root{--tto-workspace-gutter:7px}}@media print{.certificate-shell,.kids-shell,.page-shell{width:100% !important;max-width:none !important}}.journey-shell{max-width:1100px;margin:24px auto;padding:0 16px;color:var(--text-primary,#122039)}.journey-hero,.journey-step,.journey-note,.journey-result{background:var(--card-background,var(--surface,#fff));border:1px solid var(--border-color,#dce5f1);border-radius:16px;padding:22px}.journey-hero h1{font-size:clamp(26px,4vw,38px);margin:0 0 10px}.journey-hero p{margin:10px 0;line-height:1.65}.journey-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#1769ff;color:white!important;border-radius:10px;padding:10px 18px;text-decoration:none;font-weight:700}.journey-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.journey-step{display:flex;flex-direction:column;min-width:0}.journey-step h2{font-size:20px;margin:0 0 10px}.journey-step p{line-height:1.6;margin:0 0 14px}.journey-step a{margin-top:auto;min-height:44px;display:flex;align-items:center;color:var(--primary-color,#1769ff);font-weight:700}.journey-step.is-done{border-color:#269f70}.journey-time{font-size:13px}.journey-note{line-height:1.7}.journey-note button{min-height:44px;padding:8px 12px;margin-top:12px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:8px;cursor:pointer}.journey-result{margin-top:18px;line-height:1.65}.journey-result h3{font-size:20px;margin:0 0 8px}.journey-result a,.journey-result button{display:inline-flex;margin:8px 8px 0 0;white-space:normal;max-width:100%}.journey-entry{display:block;margin:12px 0;padding:12px 16px;border:1px solid var(--border-color,#dce5f1);border-radius:12px;color:var(--primary-color,#1769ff);font-weight:700;text-decoration:none}.journey-shell a:focus-visible,.journey-entry:focus-visible{outline:3px solid #1769ff;outline-offset:3px}html[data-theme="dark"] .journey-hero,html[data-theme="dark"] .journey-step,html[data-theme="dark"] .journey-note,html[data-theme="dark"] .journey-result{background:#111c2e;color:#f2f6ff;border-color:#34445c}@media(prefers-color-scheme:dark){html[data-theme="system"] .journey-hero,html[data-theme="system"] .journey-step,html[data-theme="system"] .journey-note,html[data-theme="system"] .journey-result{background:#111c2e;color:#f2f6ff;border-color:#34445c}}@media(max-width:720px){.journey-steps{grid-template-columns:1fr}.journey-hero,.journey-step,.journey-note{padding:18px}.journey-primary{width:100%;box-sizing:border-box}}/* v17.10.299 — visitor guidance following the interactive daily plan */.journey-editorial{margin-top:20px;padding:24px;background:var(--card-background,var(--surface,#fff));border:1px solid var(--border-color,#dce5f1);border-radius:16px;line-height:1.75}.journey-editorial h2{font-size:clamp(21px,3vw,28px);margin:0 0 12px}.journey-editorial h3{font-size:18px;margin:20px 0 8px}.journey-editorial p{margin:10px 0}.journey-editorial ol{padding-left:23px;margin:12px 0}.journey-editorial li{padding-left:3px;margin-bottom:9px}.journey-editorial a{color:var(--primary-color,#1769ff);text-underline-offset:3px}html[data-theme="dark"] .journey-editorial{background:#111c2e;color:#f2f6ff;border-color:#34445c}@media(prefers-color-scheme:dark){html[data-theme="system"] .journey-editorial{background:#111c2e;color:#f2f6ff;border-color:#34445c}}@media(max-width:720px){.journey-editorial{padding:18px}}.rc-replaced{display:none!important}.result-cards{color:var(--text-primary,#17233b);text-align:left;padding:8px 0 16px;width:100%;box-sizing:border-box}.result-cards *{box-sizing:border-box}.result-cards .rc-heading{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:0 0 24px;font-weight:800;text-align:center}.rc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.rc-metric{border:1px solid #dfe6f0;border-radius:18px;background:#f8faff;padding:20px 8px;text-align:center}.rc-metric strong{display:block;font-size:clamp(24px,4vw,36px);line-height:1.2;color:#245dde}.rc-metric span{display:block;margin-top:8px;font-size:13px;color:#53627b}.rc-primary,.rc-learning{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.result-cards .rc-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:116px;padding:20px 12px;border:1px solid #d8e3f3;border-radius:18px;background:#f4f8ff;color:#1b3559;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:center;box-shadow:0 3px 10px #192c4d05;transition:transform .15s,border-color .15s,box-shadow .15s;width:100%;margin:0;line-height:1.35}.result-cards .rc-card:hover{transform:translateY(-2px);border-color:#4077ef;box-shadow:0 6px 18px #245dde16}.result-cards .rc-card:focus-visible,.rc-daily:focus-visible{outline:3px solid #245dde;outline-offset:4px}.result-cards .rc-card:disabled{opacity:.65;cursor:wait}.result-cards .rc-purple{background:#f7f4ff;border-color:#e5ddf5;color:#583a94}.result-cards .rc-green{background:#f0faf5;border-color:#d5ebdf;color:#246644}.rc-icon{font-size:30px;line-height:1;display:block}.rc-title{font-size:15px}.result-cards .rc-mistakes{margin-top:14px;min-height:76px;flex-direction:row;background:#f6f8ff}.rc-subheading{font-size:18px;margin:26px 0 14px}.rc-daily{display:block;width:fit-content;margin:20px auto 0;padding:8px;background:none;border:0;color:#245dde;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.rc-status:empty{display:none}.rc-status{font-size:14px;text-align:center}.rc-details{margin:16px 0;font-size:14px}.rc-details summary{cursor:pointer}.rc-aux-card{border-radius:14px!important;padding:14px!important}.result-cards ~ .journey-result{font-size:13px;padding:12px!important}.result-cards ~ .journey-result:empty{display:none}@media(max-width:600px){.rc-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rc-metric{padding:16px 8px}.rc-primary{gap:8px}.result-cards .rc-primary .rc-card{min-height:108px;padding:14px 5px;gap:10px}.rc-primary .rc-title{font-size:12px}.rc-learning{grid-template-columns:1fr;gap:10px}.result-cards .rc-learning .rc-card{flex-direction:row;justify-content:flex-start;min-height:72px;padding:18px 22px;gap:18px}.rc-learning .rc-title{font-size:16px}}[data-theme="dark"] .result-cards,[data-theme="dark"] .rc-metric span{color:#e2eafa}[data-theme="dark"] .rc-metric,[data-theme="dark"] .result-cards .rc-card{background:#19283f;color:#e2eafa;border-color:#364963}[data-theme="dark"] .rc-metric strong,[data-theme="dark"] .rc-daily{color:#8db4ff}@media(prefers-reduced-motion:reduce){.result-cards .rc-card{transition:none}.result-cards .rc-card:hover{transform:none}}.review-flow{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 20px;list-style:none;font-size:12px;font-weight:650;text-align:left}.review-flow li{padding:8px 12px;border-radius:24px;background:#f0f3f9;color:#5a667b}.review-flow [aria-current="step"]{background:#245dde;color:white}.review-flow .is-complete{background:#e5f5ee;color:#236647}.review-comparison{margin:0 0 22px;padding:20px;border:1px solid #dce5f3;border-radius:18px;text-align:left;background:#f8faff;color:#1b3559}.review-comparison h3{margin:0 0 10px;font-size:20px}.review-comparison p{font-size:14px;line-height:1.6}.review-table-scroll{overflow-x:auto}.review-comparison table{width:100%;border-collapse:collapse;font-size:14px;margin:14px 0}.review-comparison caption{text-align:left;font-size:13px;padding:8px 0}.review-comparison th,.review-comparison td{padding:12px 8px;border-bottom:1px solid #dce5f3;text-align:right;white-space:nowrap}.review-comparison th:first-child{text-align:left}.review-comparison thead th{font-size:12px;color:#596a85}.review-comparison .review-comparison-note{font-size:12px;margin:12px 0 0}.result-cards .rc-next-step{background:#245dde;color:white;border-color:#245dde;margin:0 0 18px;min-height:76px}.result-cards .rc-next-step:hover{background:#1d4fc4}.rc-primary:has(> :last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}[data-theme="dark"] .review-comparison{background:#19283f;color:#e2eafa;border-color:#364963}[data-theme="dark"] .review-comparison th,[data-theme="dark"] .review-comparison td{border-color:#364963}[data-theme="dark"] .review-comparison thead th{color:#b4c7e3}@media(max-width:420px){.review-comparison{padding:12px}.review-comparison th,.review-comparison td{padding:10px 5px;font-size:12px}.review-flow{gap:6px}.review-flow li{font-size:11px;padding:7px 9px}}/* Consistent test setup alignment and accessible goal pace signals. */.test-setup .test-custom-duration,.test-setup .test-custom-input,.test-setup .wpm-goal-options{width:min(680px,100%);margin:20px auto 0;text-align:left;box-sizing:border-box}.test-setup .wpm-goal-options select{width:100%;max-width:none;box-sizing:border-box}.test-setup .wpm-goal-options p,.test-setup .wpm-goal-options small{display:block;text-align:left;margin:8px 0 0}.test-goal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(680px,100%);margin:22px auto 0;text-align:left}.test-goal-fields .test-custom-duration,.test-goal-fields .wpm-goal-options{width:100%;margin:0;display:block}.test-goal-fields label{display:block;margin-bottom:7px;font-weight:750}.test-goal-fields select{width:100%;min-height:46px;font:inherit}.test-goal-summary{margin:16px auto 0;max-width:680px;line-height:1.6}.test-goal-summary small{display:block;color:var(--text-light,#64748b);margin-top:6px}.goal-pace{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px;padding:14px 16px;border:1px solid var(--border-soft,#dbe4f0);border-radius:14px;background:var(--surface-alt,#f8fafc);color:var(--text,#0f172a)}.goal-pace-status{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 240px}.goal-pace-light{width:18px;height:18px;flex-shrink:0;border-radius:50%;background:#64748b;box-shadow:0 0 0 5px #64748b22}.goal-pace[data-state=on] .goal-pace-light{background:#059669;box-shadow:0 0 0 5px #05966922}.goal-pace[data-state=below] .goal-pace-light{background:#dc2626;box-shadow:0 0 0 5px #dc262622}.goal-pace strong,.goal-pace small{display:block}.goal-pace small{margin-top:4px;line-height:1.5;color:var(--text-light,#64748b)}.goal-pace-actions{display:flex;flex-wrap:wrap;gap:8px}.goal-pace-actions button{min-height:44px}.goal-pace-actions button[aria-pressed=true]{border-color:#2563eb;color:#2563eb}@media(max-width:600px){.test-goal-fields{grid-template-columns:1fr;gap:16px}.goal-pace{margin:10px}.goal-pace-actions{width:100%}.goal-pace-actions button{flex:1}}/* Phase 2 contextual help: progressive disclosure, never overlay the typing surface. */.tt-coach{box-sizing:border-box;max-width:100%;min-width:0;color:var(--text-primary,var(--text,#1b304f));font-size:14px;line-height:1.55}.tt-coach details{margin:0;border:1px solid #cbd9e9;border-radius:11px;background:var(--surface,#f7faff);color:inherit}.tt-coach details:not([open]){background:transparent}.tt-coach summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 12px;min-height:36px;font-weight:650;font-size:13px}.tt-coach summary::-webkit-details-marker{display:none}.tt-coach summary::after{content:'+';font-size:19px;line-height:1;color:#46658e}.tt-coach details[open] summary::after{content:'−'}.tt-coach summary:focus-visible,.tt-coach a:focus-visible{outline:3px solid #1682e3;outline-offset:2px}.tt-coach-content{padding:0 13px 12px;max-width:820px;color:inherit}.tt-coach-content p{margin:5px 0 8px;font-size:13px;line-height:1.6}.tt-coach-content ol,.tt-coach-content ul{margin:3px 0 9px 20px;padding:0}.tt-coach-content li{margin:3px 0;font-size:13px}.tt-coach-links{display:flex;flex-wrap:wrap;gap:6px 13px;margin-top:8px}.tt-coach a{color:#1169c4;text-decoration:underline;text-underline-offset:2px;font-weight:600}.tt-coach-lesson{margin:7px 0 0;padding:0}.tt-coach-lesson details{background:transparent;border-color:#dae4f2}.tt-coach-test{margin:8px 0 12px}.tt-coach-game{margin:8px 0 12px}.tt-coach-improver{margin:9px 0 11px}.tt-coach-action{box-sizing:border-box;display:block;padding:12px 14px;border:1px solid #c8d8e7;border-radius:12px;background:#f2f8ff;color:#183150;line-height:1.5;margin:12px 0;max-width:100%}.tt-coach-action strong{display:block;font-size:14px;margin-bottom:3px}.tt-coach-action p{font-size:13px;margin:0 0 6px;color:#425673}.tt-coach-action a{font-size:13px;display:inline-block;margin-right:12px;color:#095ba4;text-decoration:underline;font-weight:650}.tt-coach-action[hidden]{display:none!important}.tt-coach-results{margin:12px 0 2px}.tt-coach-step{font-size:12px;margin:0 0 9px;padding:8px 12px;border-left:3px solid #2563eb;background:#eff6ff;border-radius:5px;color:#243b5b;line-height:1.55}.tt-coach-step[hidden]{display:none}:root[data-theme='dark'] .tt-coach,:root.dark .tt-coach{color:#e5edfa}:root[data-theme='dark'] .tt-coach details,:root.dark .tt-coach details{border-color:#3e536f;background:#172438}:root[data-theme='dark'] .tt-coach a,:root.dark .tt-coach a{color:#93c9ff}:root[data-theme='dark'] .tt-coach-action,:root.dark .tt-coach-action{background:#152843;border-color:#3d577b;color:#f0f6ff}:root[data-theme='dark'] .tt-coach-action p,:root.dark .tt-coach-action p{color:#c7d6ed}:root[data-theme='dark'] .tt-coach-step,:root.dark .tt-coach-step{background:#182d49;color:#cbdaf0}@media(prefers-color-scheme:dark){:root[data-theme='system'] .tt-coach details,:root:not([data-theme]) .tt-coach details{background:#172438;border-color:#3e536f;color:#e5edfa}:root[data-theme='system'] .tt-coach-action{background:#152843;border-color:#3d577b;color:#f0f6ff}:root[data-theme='system'] .tt-coach-action p{color:#c7d6ed}:root[data-theme='system'] .tt-coach a{color:#93c9ff}:root[data-theme='system'] .tt-coach-step{background:#182d49;color:#cbdaf0}}@media(max-width:680px){.tt-coach{font-size:13px}.tt-coach summary{padding:7px 10px;min-height:34px}.tt-coach-action{padding:10px 12px;margin:9px 0}.tt-coach-content{padding:0 11px 10px}.tt-coach-links{gap:6px 11px}}@media print{.tt-coach details:not([open]),.tt-coach-step{display:none}}/* Shared account action. Reserve space before JavaScript runs. */#header .header-tools,.test-header-inner > .site-header-actions{display:flex !important;align-items:center;justify-content:flex-end;gap:8px;justify-self:end;min-width:0}#header .site-account-link,.test-site-header .site-account-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;min-width:118px;padding:10px 12px;border:1px solid var(--border,#c9d8ed);border-radius:12px;background:var(--surface-alt,#f2f7ff);color:var(--text,#172235);font:750 13px/1 system-ui,sans-serif;text-decoration:none;white-space:nowrap;flex-shrink:0}.site-account-link svg{flex-shrink:0}#header .site-account-link:hover,.test-site-header .site-account-link:hover{border-color:#246df0;background:#e7f0ff;color:#1747a6;text-decoration:none}.site-account-link:focus-visible{outline:3px solid #246df0;outline-offset:3px}.test-header-inner > .site-header-actions > #themeButton{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:116px;min-height:48px;padding:10px 15px;margin:0;border:0;border-radius:12px;background:linear-gradient(135deg,#246df0,#285ee5);color:white;font:750 13px/1 system-ui,sans-serif;cursor:pointer;white-space:nowrap}html[data-theme="dark"] .site-account-link{background:#182a43;color:#e7eef9;border-color:#526783}html[data-theme="dark"] .site-account-link:hover{background:#213a5f;color:white}@media (max-width:1200px){#header .header-inner,.test-header-inner{grid-template-columns:minmax(0,1fr) auto !important}#header .primary-mode-navigation,.test-nav{grid-column:1/-1;grid-row:2}#header .header-tools,.test-header-inner > .site-header-actions{grid-column:2;grid-row:1}}@media (max-width:590px){#header .site-account-link,.test-site-header .site-account-link{min-width:44px;width:44px;min-height:44px;padding:10px}.site-account-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#header .header-tools,.test-header-inner > .site-header-actions{gap:6px}#header #themeButton,.test-header-inner > .site-header-actions > #themeButton{min-width:44px;width:44px;min-height:44px;padding:8px !important}.test-header-inner > .site-header-actions > #themeButton > span:not(:first-child){display:none}}/* v17.10.317 — green account action after server-confirmed sign-in. */#header .site-account-link[data-signed-in="true"],.test-site-header .site-account-link[data-signed-in="true"]{background:#15803d;color:#fff;border-color:#15803d}#header .site-account-link[data-signed-in="true"]:hover,.test-site-header .site-account-link[data-signed-in="true"]:hover{background:#166534;color:#fff;border-color:#166534}html[data-theme="dark"] #header .site-account-link[data-signed-in="true"],html[data-theme="dark"] .test-site-header .site-account-link[data-signed-in="true"]{background:#166534;color:#fff;border-color:#22c55e}html[data-theme="dark"] #header .site-account-link[data-signed-in="true"]:hover,html[data-theme="dark"] .test-site-header .site-account-link[data-signed-in="true"]:hover{background:#14532d;color:#fff}
