.keyboard-container[data-v-0df4fb33]{margin-bottom:20px;overflow-x:auto;padding:10px 0}.keyboard[data-v-0df4fb33]{align-items:center;display:flex;flex-direction:column;gap:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.keyboard-row[data-v-0df4fb33]{gap:5px}.key[data-v-0df4fb33],.keyboard-row[data-v-0df4fb33]{display:flex;justify-content:center}.key[data-v-0df4fb33]{align-items:center;background:transparent;background:var(--finger-color-light,transparent);background-color:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.08);color:#333;cursor:default;font-size:.85rem;font-weight:500;height:44px;min-width:40px;position:relative;transition:all .12s ease}.key-highlight[data-v-0df4fb33]{background-color:#fff!important;border-color:#4a90d9;border-width:2px;box-shadow:0 6px 16px rgba(74,144,217,.35),0 2px 4px rgba(0,0,0,.12);color:#1a1a1a;font-weight:700;transform:translateY(-4px) scale(1.08);z-index:2}.key-pressed[data-v-0df4fb33]{background-color:#e8f0fe!important;border-color:#4a90d9;box-shadow:0 1px 2px rgba(0,0,0,.08);transform:translateY(1px) scale(.97)}.keyboard-row .key[data-v-0df4fb33]{background-color:#f5f5f5;background-color:var(--finger-color-light,#f5f5f5)}.key-space[data-v-0df4fb33]{min-width:180px}.keyboard-row .key[data-v-0df4fb33]:hover{border-color:#aaa}.key-finger-target[data-v-0df4fb33]{animation:fingerPop-0df4fb33 .4s cubic-bezier(.34,1.56,.64,1);background-color:#fff!important;border-color:#4a90d9;border-color:var(--finger-color,#4a90d9);border-width:3px;box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);color:#1a1a1a!important;font-weight:700;transform:translateY(-8px) scale(1.12);z-index:3}@keyframes fingerPop-0df4fb33{0%{box-shadow:0 1px 3px rgba(0,0,0,.08);transform:translateY(0) scale(1)}50%{box-shadow:0 12px 28px rgba(0,0,0,.22);transform:translateY(-12px) scale(1.2)}to{box-shadow:0 8px 24px rgba(0,0,0,.18);transform:translateY(-8px) scale(1.12)}}.key-finger-done[data-v-0df4fb33]{opacity:.3;pointer-events:none;transform:scale(.85)}@media (max-width:991.98px){.keyboard-container[data-v-0df4fb33]{margin-bottom:10px;padding:6px 0}.key[data-v-0df4fb33]{border-radius:5px;font-size:.75rem;height:40px;min-width:34px}.key-space[data-v-0df4fb33]{min-width:140px}.keyboard-row[data-v-0df4fb33],.keyboard[data-v-0df4fb33]{gap:4px}}@media (max-width:767.98px){.keyboard-container[data-v-0df4fb33]{padding:6px 0}.key[data-v-0df4fb33]{border-radius:4px;font-size:.7rem;height:36px;min-width:30px}.key-space[data-v-0df4fb33]{min-width:120px}}@media (max-width:575.98px){.key[data-v-0df4fb33]{border-radius:3px;font-size:.6rem;height:32px;min-width:26px}.key-space[data-v-0df4fb33]{min-width:90px}.keyboard-row[data-v-0df4fb33],.keyboard[data-v-0df4fb33]{gap:3px}}.finger-hint[data-v-2369e772]{min-width:80px;transition:all .25s ease}.finger-hint.hint-active[data-v-2369e772]{transform:translateY(-2px)}.finger-dot[data-v-2369e772]{box-shadow:0 2px 6px rgba(0,0,0,.15);transition:all .25s ease}.finger-dot.dot-selected[data-v-2369e772]{box-shadow:0 0 0 3px #fff,0 0 0 5px currentColor,0 4px 12px rgba(0,0,0,.25);transform:scale(1.15)}.keyboard-wrapper[data-v-2369e772]{overflow:hidden;transition:height .35s ease}.keyboard-collapsed[data-v-2369e772]{height:330px}.keyboard-shade[data-v-2369e772]{align-items:center;animation:shadeSlideIn-2369e772 .6s ease-out;backdrop-filter:blur(2px);background:linear-gradient(180deg,hsla(0,0%,100%,0) 25%,hsla(0,0%,100%,.85) 50%,rgba(248,249,250,.95));bottom:0;cursor:pointer;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;top:0;transition:top .35s ease,right .35s ease,bottom .35s ease,left .35s ease,height .35s ease,background .35s ease;z-index:10}@keyframes shadeSlideIn-2369e772{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.keyboard-shade[data-v-2369e772]:hover{background:linear-gradient(180deg,hsla(0,0%,100%,0) 20%,hsla(0,0%,100%,.9) 45%,rgba(240,244,248,.98))}.shade-collapsed[data-v-2369e772]{animation:none;backdrop-filter:blur(4px);background:rgba(248,249,250,.88);border-top:1px solid rgba(0,0,0,.06);bottom:0;height:30px;left:0;right:0;top:auto;transition:height .35s ease,background .35s ease}.shade-collapsed[data-v-2369e772]:hover{background:rgba(240,244,248,.95)}.shade-collapsed .shade-content[data-v-2369e772]{background:transparent;border-radius:20px;box-shadow:none;flex-direction:row;gap:6px;transform:translateY(0)}.shade-collapsed .shade-icon[data-v-2369e772]{font-size:.85rem}.shade-collapsed .shade-text[data-v-2369e772]{font-size:.75rem}.shade-collapsed .shade-hint[data-v-2369e772]{display:none}.shade-content[data-v-2369e772]{align-items:center;background:hsla(0,0%,100%,.9);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:6px;padding:18px 32px;transform:translateY(20px);transition:transform .3s ease}.keyboard-shade:hover .shade-content[data-v-2369e772]{transform:translateY(0)}.shade-icon[data-v-2369e772]{font-size:1.8rem;line-height:1}.shade-text[data-v-2369e772]{color:#2c3e50;font-size:1rem;font-weight:600}.shade-hint[data-v-2369e772]{color:#95a5a6;font-size:.75rem}@media (max-width:991.98px){.keyboard-wrapper[data-v-2369e772]{padding:1rem!important}.finger-hint[data-v-2369e772]{min-width:60px}.finger-hint .finger-dot[data-v-2369e772]{height:30px!important;width:30px!important}.finger-hint .finger-dot span[data-v-2369e772]{font-size:.55rem!important}.finger-hint .text-muted[data-v-2369e772]{font-size:.7rem}.finger-hints[data-v-2369e772]{gap:.25rem!important}}@media (max-width:767.98px){.keyboard-wrapper[data-v-2369e772]{padding:.75rem!important}.keyboard-shade[data-v-2369e772]{align-items:center!important;backdrop-filter:blur(4px)!important;background:rgba(248,249,250,.92)!important;bottom:0!important;height:20px!important;left:0!important;right:0!important;top:auto!important}.keyboard-shade[data-v-2369e772]:hover{background:rgba(240,244,248,.95)!important}.finger-hint[data-v-2369e772]{min-width:52px}.finger-hint .finger-dot[data-v-2369e772]{height:28px!important;width:28px!important}.finger-hint .finger-dot span[data-v-2369e772]{font-size:.5rem!important}.finger-hint .text-muted[data-v-2369e772]{font-size:.65rem}.finger-hints[data-v-2369e772]{gap:.25rem!important}.d-flex.gap-4.mb-3.small.text-muted[data-v-2369e772]{flex-wrap:wrap;gap:.5rem!important}}@media (max-width:575.98px){.keyboard-wrapper[data-v-2369e772]{padding:.75rem!important}.keyboard-shade[data-v-2369e772]{align-items:center!important;backdrop-filter:blur(4px)!important;background:rgba(248,249,250,.92)!important;bottom:0!important;height:40px!important;left:0!important;right:0!important;top:auto!important}.keyboard-shade[data-v-2369e772]:hover{background:rgba(240,244,248,.95)!important}.finger-hint[data-v-2369e772]{min-width:48px}.finger-hint .finger-dot[data-v-2369e772]{height:26px!important;width:26px!important}.finger-hint .finger-dot span[data-v-2369e772]{font-size:.45rem!important}.finger-hint .text-muted[data-v-2369e772]{font-size:.6rem}.d-flex.gap-4.mb-3.small.text-muted[data-v-2369e772]{flex-wrap:wrap;gap:.5rem!important}}.time-down[data-v-2369e772]{cursor:pointer;transition:transform .3s ease}.time-down.rotated[data-v-2369e772]{transform:rotate(180deg)}.btn-xs[data-v-08e32503]{font-size:.75rem;line-height:1.4;padding:.15rem .5rem}.char-box[data-v-08e32503]{border-radius:4px;font-family:Courier New,Courier,monospace;font-size:1.25rem;font-weight:600;letter-spacing:-.3px;min-width:.8rem;text-align:center;transition:all .15s ease}.char-box.char-correct[data-v-08e32503]{background-color:rgba(25,135,84,.1)!important;color:#198754!important}.char-box.char-wrong[data-v-08e32503]{background-color:rgba(220,53,69,.1)!important;color:#dc3545!important}.char-box.char-current[data-v-08e32503]{background-color:#ffc107!important;box-shadow:0 2px 8px rgba(0,0,0,.12);transform:scale(1.1)}.keyboard-wrapper[data-v-08e32503]{overflow:hidden;transition:height .35s ease}.keyboard-collapsed[data-v-08e32503]{height:365px}.keyboard-shade[data-v-08e32503]{align-items:center;animation:shadeSlideIn-08e32503 .6s ease-out;backdrop-filter:blur(2px);background:linear-gradient(180deg,hsla(0,0%,100%,0) 25%,hsla(0,0%,100%,.85) 50%,rgba(248,249,250,.95));bottom:0;cursor:pointer;display:flex;height:100%;justify-content:center;left:0;position:absolute;right:0;top:0;transition:top .35s ease,right .35s ease,bottom .35s ease,left .35s ease,height .35s ease,background .35s ease;z-index:10}@keyframes shadeSlideIn-08e32503{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.keyboard-shade[data-v-08e32503]:hover{background:linear-gradient(180deg,hsla(0,0%,100%,0) 20%,hsla(0,0%,100%,.9) 45%,rgba(240,244,248,.98))}.shade-collapsed[data-v-08e32503]{animation:none;backdrop-filter:blur(4px);background:rgba(248,249,250,.88);border-top:1px solid rgba(0,0,0,.06);bottom:0;height:36px;left:0;right:0;top:auto;transition:height .35s ease,background .35s ease}.shade-collapsed[data-v-08e32503]:hover{background:rgba(240,244,248,.95)}.shade-collapsed .shade-content[data-v-08e32503]{background:transparent;border-radius:20px;box-shadow:none;flex-direction:row;gap:6px;transform:translateY(0)}.shade-collapsed .shade-icon[data-v-08e32503]{font-size:.85rem}.shade-collapsed .shade-text[data-v-08e32503]{font-size:.75rem}.shade-collapsed .shade-hint[data-v-08e32503]{display:none}.shade-content[data-v-08e32503]{align-items:center;background:hsla(0,0%,100%,.9);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:6px;padding:18px 32px;transform:translateY(20px);transition:transform .3s ease}.keyboard-shade:hover .shade-content[data-v-08e32503]{transform:translateY(0)}.shade-icon[data-v-08e32503]{font-size:1.8rem;line-height:1}.shade-text[data-v-08e32503]{color:#2c3e50;font-size:1rem;font-weight:600}.shade-hint[data-v-08e32503]{color:#95a5a6;font-size:.75rem}@media (max-width:991.98px){.keyboard-wrapper[data-v-08e32503]{padding:1rem!important}.char-box[data-v-08e32503]{font-size:1rem}.d-flex.gap-4.mb-1.small.text-muted[data-v-08e32503]{flex-wrap:wrap;gap:.5rem!important}}@media (max-width:767.98px){.keyboard-wrapper[data-v-08e32503]{padding:.75rem!important}.keyboard-shade[data-v-08e32503]{align-items:center!important;backdrop-filter:blur(4px)!important;background:rgba(248,249,250,.92)!important;bottom:0!important;height:40px!important;left:0!important;right:0!important;top:auto!important}.keyboard-shade[data-v-08e32503]:hover{background:rgba(240,244,248,.95)!important}.char-box[data-v-08e32503]{font-size:.9rem;min-width:.7rem}.bg-white.rounded-4.shadow-sm.p-1.mb-1.text-center[data-v-08e32503]{padding:.5rem!important}.d-flex.gap-4.mb-1.small.text-muted[data-v-08e32503]{flex-wrap:wrap;gap:.5rem!important}}@media (max-width:575.98px){.keyboard-wrapper[data-v-08e32503]{padding:.75rem!important}.keyboard-shade[data-v-08e32503]{align-items:center!important;backdrop-filter:blur(4px)!important;background:rgba(248,249,250,.92)!important;bottom:0!important;height:40px!important;left:0!important;right:0!important;top:auto!important}.keyboard-shade[data-v-08e32503]:hover{background:rgba(240,244,248,.95)!important}.char-box[data-v-08e32503]{font-size:.85rem;min-width:.6rem}.bg-white.rounded-4.shadow-sm.p-1.mb-1.text-center[data-v-08e32503]{padding:.5rem!important}}.info-text[data-v-08e32503]{color:#888;font-size:12px;line-height:1.6}@media (max-width:768px){.info-text[data-v-08e32503]{color:#888;font-size:10px;line-height:1.6}}.time-down[data-v-08e32503]{cursor:pointer;transition:transform .3s ease}.time-down.rotated[data-v-08e32503]{transform:rotate(180deg)}.btn-group .btn[data-v-e7fcef78]{border-radius:0}.btn-xs[data-v-e7fcef78]{font-size:.75rem;line-height:1.4;padding:.15rem .5rem}.btn-edu-active[data-v-e7fcef78]{background-color:#4caf50;border-color:#4caf50;color:#fff}.btn-edu-active[data-v-e7fcef78]:hover{background-color:#43a047;border-color:#43a047;color:#fff}.btn-edu-active[data-v-e7fcef78]:active,.btn-edu-active[data-v-e7fcef78]:focus{background-color:#388e3c!important;border-color:#388e3c!important;box-shadow:0 0 0 .2rem rgba(76,175,80,.3)!important;color:#fff!important}.btn-edu-outline[data-v-e7fcef78]{background-color:transparent;border-color:#81c784;color:#388e3c}.btn-edu-outline[data-v-e7fcef78]:hover{background-color:rgba(76,175,80,.08);border-color:#4caf50;color:#2e7d32}.btn-edu-outline[data-v-e7fcef78]:active,.btn-edu-outline[data-v-e7fcef78]:focus{background-color:rgba(76,175,80,.12)!important;border-color:#4caf50!important;box-shadow:0 0 0 .2rem rgba(76,175,80,.2)!important;color:#2e7d32!important}.btn-group .btn[data-v-e7fcef78]:first-child{border-radius:.375rem 0 0 .375rem}.btn-group .btn[data-v-e7fcef78]:last-child{border-radius:0 .375rem .375rem 0}.time-config[data-v-e7fcef78]{margin-left:40px}