.keytest_container__AB9Bz{max-width:1320px;margin:0 auto;padding:1.5rem 1.25rem 6rem;font-family:Inter,Roboto,system-ui,-apple-system,sans-serif;--key-bg:rgba(255,255,255,0.06);--key-border:rgba(255,255,255,0.1);--key-text:rgba(255,255,255,0.65);--key-shadow:0 3px 0 rgba(0,0,0,0.35);--kb-bg:rgba(0,0,0,0.35);min-height:calc(100vh - 4rem);display:flex;flex-direction:column}[data-theme=light] .keytest_container__AB9Bz{--key-bg:#ffffff;--key-border:#d1d5db;--key-text:#1f2937;--key-shadow:0 3px 0 #d1d5db,0 4px 6px rgba(0,0,0,0.05);--kb-bg:#f3f4f6}.keytest_header__Zlubl{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.keytest_backBtn__qHG6O{display:flex;align-items:center;gap:.5rem;background:transparent;color:var(--text-secondary);cursor:pointer;border:none;font-size:.9rem;font-weight:600;padding:.5rem 0;transition:color .15s}.keytest_backBtn__qHG6O:hover{color:var(--text-primary)}.keytest_titleArea__a8Xwu{display:flex;align-items:center;gap:.6rem}.keytest_title__NklbP{font-size:1.6rem;font-weight:900;margin:0;letter-spacing:-.01em}.keytest_toolbar__1PTYX{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.keytest_selectSound__darxF{padding:.45rem .7rem;border-radius:9px;font-size:.78rem;font-weight:700;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;outline:none;transition:border-color .15s}.keytest_themeSelector__HPKBv{display:flex;gap:5px;align-items:center}.keytest_themeLabel__np5gX{font-size:.72rem;color:var(--text-secondary);font-weight:600}.keytest_themeDot__hMKhf{width:18px;height:18px;border-radius:50%;cursor:pointer;padding:0;transition:all .15s}.keytest_modeTabs__zwCZo{display:flex;gap:4px;margin-bottom:1.5rem;background:var(--bg-secondary);padding:4px;border-radius:12px;width:fit-content;border:1px solid var(--border-color)}.keytest_modeTabBtn__lv92r{padding:.45rem 1.1rem;border-radius:9px;border:none;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s}.keytest_optionsRow__a__uH{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;align-items:center}.keytest_layoutSelect__ojQC5{min-width:140px;max-width:180px;padding:5px 10px}.keytest_actionBtn__0wFUa,.keytest_layoutSelect__ojQC5{background:var(--bg-secondary);border-radius:9px;border:1px solid var(--border-color)}.keytest_actionBtn__0wFUa{display:flex;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.78rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .15s}.keytest_actionBtn__0wFUa:hover{border-color:var(--text-secondary);color:var(--text-primary)}.keytest_statsGrid__N57yA{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.keytest_statCard__X_bFU{background:var(--bg-secondary);border-radius:14px;padding:.9rem 1.1rem;border:1px solid var(--border-color);min-width:0;transition:border-color .15s}.keytest_statCardLabel__YDojg{font-size:.68rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.keytest_statCardValue__Br3Yu{font-size:1.55rem;font-weight:900;color:var(--text-primary);line-height:1}.keytest_statCardSub__vhh69{margin-top:.2rem;font-size:.7rem;color:var(--text-secondary)}.keytest_progressBarContainer__ozYcQ{margin-top:.3rem}.keytest_progressBarTrack__02lPM{height:3px;background:var(--border-color);border-radius:2px;overflow:hidden}.keytest_progressBarFill__2Tqyt{height:100%;border-radius:2px;transition:width .3s}.keytest_progressText__n3pZx{font-size:.68rem;color:var(--text-secondary)}.keytest_activeKeysStrip__aGAWd{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:.75rem;padding:.6rem .9rem;border-radius:10px;animation:keytest_popIn__SGaUN .15s ease}.keytest_activeKeysLabel__6TSCE{font-size:.68rem;font-weight:700;align-self:center;text-transform:uppercase;letter-spacing:.06em;margin-right:.25rem}.keytest_activeKeyTag__wNu7K{padding:2px 7px;border-radius:5px;color:#000;font-size:.73rem;font-weight:800;animation:keytest_popIn__SGaUN .1s ease}.keytest_keyboardFrame__LkKkC{padding:1.25rem 1rem;border-radius:18px;border:1px solid var(--border-color);background:var(--kb-bg);overflow-x:auto;box-shadow:inset 0 2px 16px rgba(0,0,0,.15);flex:1;display:flex;align-items:center;justify-content:center}.keytest_keyboardInner__mui2T{display:flex;gap:14px;min-width:max-content}.keytest_mainBlock__y4UR7,.keytest_navBlock__7AlKb,.keytest_numpadBlock__31IhG{display:flex;flex-direction:column;gap:5px}.keytest_numpadBlock__31IhG{padding-left:10px;border-left:1px solid var(--border-color)}.keytest_mainCluster__hKD2L{display:flex;flex-direction:column;gap:5px}.keytest_fRow__kYT95{display:flex;gap:4px;margin-bottom:5px}.keytest_rowGap__cOwsm{width:16px}.keytest_fGroupGap__rqI5C{width:10px}.keytest_keyRow__YgME4{display:flex;gap:4px}.keytest_navCluster__ulAle{display:flex;flex-direction:column;gap:5px}.keytest_navRow__x0RUQ{display:flex;gap:4px}.keytest_navRowGap__MxjD7{flex:1}.keytest_arrowRow__s1NJN{display:flex;justify-content:center}.keytest_numpadCluster__hgUIA{display:flex;flex-direction:column;gap:5px;padding-left:10px;border-left:1px solid var(--border-color)}.keytest_numpadGap__3Egbd{height:36px;margin-bottom:5px}.keytest_numpadGrid__pN1Pg{display:flex;gap:4px}.keytest_numpadLeftCol__W94v0,.keytest_numpadRightCol__qmVIU{display:flex;flex-direction:column;gap:5px}.keytest_keyItem__3FaKP{position:relative;height:42px;flex-shrink:0;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;cursor:default;user-select:none;transition:background .07s,color .07s,box-shadow .07s,transform .05s}.keytest_keySubLabel__zt_FR{font-size:8px;line-height:1;opacity:.65;margin-bottom:1px;color:inherit}.keytest_keyMainLabel__hj0aT{line-height:1}.keytest_keyCountBadge__1RrDp{position:absolute;top:2px;right:3px;font-size:7px;font-weight:900;opacity:.75}.keytest_keyHeatmapCount__8Gmdd{position:absolute;bottom:1px;font-size:7px;font-weight:900;color:inherit;opacity:.8}.keytest_tallKeyItem__XoQEX{width:42px;height:88px;flex-shrink:0;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;cursor:default;user-select:none;transition:all .07s}.keytest_legendRow__CMwv_{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:.9rem;font-size:.72rem;color:var(--text-secondary);align-items:center}.keytest_legendItem__v2uZj{display:flex;align-items:center;gap:5px}.keytest_legendColor__YTbLK{width:14px;height:14px;border-radius:3px}.keytest_legendGradient__G4HqR{width:55px;height:10px;border-radius:5px}.keytest_legendNote__1ckyi{margin-left:auto;font-style:italic}.keytest_passagesGrid__8n6af{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.25rem}.keytest_passageTabBtn__c5lST{padding:.4rem .85rem;border-radius:9px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s}.keytest_typingStatsGrid__M7I03{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-bottom:1.25rem}.keytest_typingProgressBar__RfVbq{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden;margin-bottom:1.25rem}.keytest_typingProgressFill__FTaZS{height:100%;border-radius:2px;transition:width .15s}.keytest_typingArea__NCu_q{padding:1.75rem 2rem;border-radius:18px;border:1px solid var(--border-color);background:var(--bg-secondary);margin-bottom:1.25rem;font-size:1.25rem;line-height:1.85;font-family:JetBrains Mono,Fira Code,Courier New,monospace;letter-spacing:.03em;user-select:none}.keytest_typingChar__MNISH{position:relative;border-radius:2px;transition:color .08s,background .08s}.keytest_typingFooter__9AXLH{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.keytest_typingInstruction__1_FKd{font-style:italic}.keytest_typingInstruction__1_FKd,.keytest_typingProgressInfo__KVrpS{font-size:.85rem;color:var(--text-secondary)}.keytest_keyboardKbd__0F2fT{padding:1px 5px;border-radius:4px;background:var(--bg-card,var(--bg-secondary));border:1px solid var(--border-color);font-size:.78rem}.keytest_typingResult__6dPX5{font-size:1rem;font-weight:700}.keytest_footerActions__atzfe{display:flex;gap:.5rem;align-items:center}.keytest_secondaryBtn__6_6ch{border-radius:9px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);transition:all .15s}.keytest_primaryBtn__o_DTU,.keytest_secondaryBtn__6_6ch{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer}.keytest_primaryBtn__o_DTU{border-radius:9px;border:none}.keytest_passagesListTitle__gsizu{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.keytest_passagesCardsGrid__vwt8A{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.keytest_passageCard__PkuEr{padding:1rem 1.1rem;border-radius:12px;cursor:pointer;background:var(--bg-secondary);border:1px solid var(--border-color);transition:all .15s}.keytest_passageCardTitle__77xAu{font-weight:700;font-size:.85rem;margin-bottom:.35rem}.keytest_passageCardPreview__954ML{font-size:.75rem;color:var(--text-secondary);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.keytest_passageCardMeta__L6hqz{margin-top:.5rem;font-size:.68rem;color:var(--text-secondary)}.keytest_fullscreenOverlay__OdDuV{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:9999;display:flex;flex-direction:column;padding:2rem 3rem;justify-content:center;align-items:center;animation:keytest_fadeIn__k2mBk .2s ease}.keytest_fullscreenHeader__0SIjD{position:absolute;top:2rem;left:3rem;right:3rem;display:flex;justify-content:space-between;align-items:center}.keytest_fullscreenTitleGroup__TUc7W{display:flex;align-items:center;gap:1rem}.keytest_fullscreenTitle__tlDad{font-size:1.2rem;font-weight:900}.keytest_fullscreenSubtitle__dxYob{font-size:.85rem;color:var(--text-secondary)}.keytest_fullscreenActions__qrENV{display:flex;gap:.75rem;align-items:center}.keytest_focusArea__F65y5{max-width:900px;width:100%;display:flex;flex-direction:column;gap:2rem}.keytest_focusStats__uLlC1{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.keytest_focusProgress__DBK1g{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.keytest_focusProgressFill__Tr2UA{height:100%;border-radius:3px;transition:width .15s}.keytest_giantTypingArea__MTcxg{padding:2.5rem 3rem;border-radius:24px;background:var(--bg-secondary);font-size:1.65rem;line-height:1.85;font-family:JetBrains Mono,Fira Code,Courier New,monospace;letter-spacing:.03em;user-select:none;box-shadow:0 20px 40px rgba(0,0,0,.25),inset 0 2px 10px rgba(0,0,0,.05)}.keytest_giantChar__2itrW{position:relative;border-radius:3px;transition:color .08s,background .08s}.keytest_focusFooter__ZbONn{display:flex;justify-content:space-between;align-items:center}.keytest_focusInstruction__kS5tg{font-size:1rem;color:var(--text-secondary);font-style:italic}.keytest_focusProgressInfo__wYSNj{font-size:.95rem;color:var(--text-secondary)}.keytest_focusKbd___If9K{padding:2px 6px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-color);font-size:.85rem}.keytest_focusResult__n242z{font-size:1.2rem;font-weight:700}.keytest_giantResetBtn__hQUPH{display:flex;align-items:center;gap:.45rem;padding:.6rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:700;border:none;cursor:pointer;transition:transform .1s}@keyframes keytest_popIn__SGaUN{0%{transform:scale(.7);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes keytest_blink__zSz6_{0%,to{opacity:1}50%{opacity:0}}.keytest_typingCursor__sZOUd{display:inline-block;width:2px;height:1.25em;background:currentColor;animation:keytest_blink__zSz6_ 1s step-end infinite;vertical-align:text-bottom;margin-left:0}@keyframes keytest_fadeIn__k2mBk{0%{opacity:0}to{opacity:1}}