.test-spinner[data-v-b5cc2d4e]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;padding:1.5rem .5rem}.spinner-icon[data-v-b5cc2d4e]{margin-bottom:1rem}.spinner[data-v-b5cc2d4e]{animation:spin-b5cc2d4e var(--animation-morphing) linear infinite;width:40px;height:40px;display:block}.spinner-bg[data-v-b5cc2d4e]{stroke:#333;opacity:.2}.spinner-fg[data-v-b5cc2d4e]{stroke:var(--accent, #ff6b00);stroke-dasharray:113;stroke-dashoffset:60;animation:spinner-dash-b5cc2d4e calc(var(--animation-morphing) * 1.2) ease-in-out infinite}@keyframes spin-b5cc2d4e{to{transform:rotate(360deg)}}@keyframes spinner-dash-b5cc2d4e{0%{stroke-dashoffset:113}50%{stroke-dashoffset:30}to{stroke-dashoffset:113}}.spinner-message[data-v-b5cc2d4e]{font-size:1.1rem;color:#fff;margin:0 0 .25rem;font-weight:500}.spinner-sub-message[data-v-b5cc2d4e]{font-size:.98rem;color:#bdbdbd;margin:0}.state-panel[data-v-efd82281]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-lg);color:var(--text-primary);width:100%;min-height:200px;aspect-ratio:16/9;background:var(--background-dark);border-radius:var(--border-radius)}.state-panel.full-height[data-v-efd82281]{flex-grow:1}.panel-icon[data-v-efd82281]{margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.panel-icon.icon-error[data-v-efd82281]{color:var(--danger-color)}.panel-icon.icon-success[data-v-efd82281]{color:var(--success-color)}.panel-icon.icon-warning[data-v-efd82281]{color:var(--warning-color)}.panel-icon.icon-info[data-v-efd82281],.panel-icon.icon-loading[data-v-efd82281],.panel-icon.icon-permission[data-v-efd82281]{color:var(--primary-color)}.panel-content[data-v-efd82281]{max-width:350px;width:100%}.panel-title[data-v-efd82281]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.panel-message[data-v-efd82281]{font-size:var(--font-size-sm);line-height:1.5;margin:0 0 var(--spacing-md) 0;color:var(--text-secondary)}.panel-actions[data-v-efd82281]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.spinning[data-v-efd82281]{animation:spin-efd82281 var(--animation-morphing) linear infinite}@keyframes spin-efd82281{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.state-panel.state-error[data-v-efd82281]{background-color:#dc35450d}.state-panel.state-success[data-v-efd82281]{background-color:#28a7450d}.state-panel.state-warning[data-v-efd82281]{background-color:#ffc1070d}.state-panel.state-loading[data-v-efd82281]{background-color:#ff6b000d}.device-selector[data-v-b368a5b1]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);border-top:1px solid var(--border-color);padding:var(--spacing-sm) 0;margin:0;width:100%}.device-selector label[data-v-b368a5b1]{color:var(--text-primary);font-size:var(--font-size-sm)}.device-selector select[data-v-b368a5b1]{padding:var(--spacing-sm);border-radius:var(--border-radius-small);border:1px solid var(--border-color-light);background:var(--border-color-custom);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;min-width:200px;width:100%;transition:var(--transition-default)}.device-selector select[data-v-b368a5b1]:disabled{opacity:.6;cursor:not-allowed}.device-selector select[data-v-b368a5b1]:focus{outline:none;border-color:var(--primary-color)}.device-selector select option[data-v-b368a5b1]{background:var(--border-color-custom);color:var(--text-primary)}.webcam-test-container[data-v-182cd8fc]{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.video-wrapper[data-v-182cd8fc]{width:100%;aspect-ratio:16 / 9;background:var(--background-dark);border-radius:var(--border-radius);overflow:hidden;position:relative;max-height:70vh}.camera-preview[data-v-182cd8fc]{width:100%;height:100%;object-fit:cover}.camera-preview.blurred[data-v-182cd8fc]{filter:blur(8px)}.video-overlay[data-v-182cd8fc]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-primary);text-align:center}.compatibility-warnings[data-v-182cd8fc]{background:var(--warning-bg, #fff8e1);border:1px solid var(--warning-border, #ffb300);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.warning-header h4[data-v-182cd8fc]{margin:0 0 var(--spacing-md);color:var(--warning-color, #f57c00);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.warning-list[data-v-182cd8fc]{list-style:none;padding:0;margin:0 0 var(--spacing-md)}.warning-item[data-v-182cd8fc]{padding:var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.warning-item[data-v-182cd8fc]:before{content:"• ";color:var(--warning-color, #f57c00);font-weight:700}.recommendation[data-v-182cd8fc]{background:var(--info-bg, #e3f2fd);border:1px solid var(--info-border, #2196f3);border-radius:var(--border-radius-small);padding:var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm)}.recommendation strong[data-v-182cd8fc]{color:var(--info-color, #1976d2)}.microphone-test-container[data-v-50c966f2]{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.canvas-wrapper[data-v-50c966f2]{width:100%;aspect-ratio:16 / 9;background:var(--background-dark);border-radius:var(--border-radius);overflow:hidden;position:relative;max-height:70vh}.waveform-display[data-v-50c966f2]{width:100%;height:100%;background:var(--background-dark);border-radius:var(--border-radius);overflow:hidden;position:relative}.canvas-overlay[data-v-50c966f2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-primary);text-align:center}.volume-meter[data-v-50c966f2]{position:absolute;bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);height:8px;background:#00000080;border-radius:var(--border-radius-small);overflow:hidden}.volume-bar[data-v-50c966f2]{height:100%;background:var(--warning-color);transition:width var(--transition-fast);border-radius:var(--border-radius-small);box-shadow:0 0 10px #ff98004d}.compatibility-warnings[data-v-50c966f2]{background:var(--warning-bg, #fff8e1);border:1px solid var(--warning-border, #ffb300);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.warning-header h4[data-v-50c966f2]{margin:0 0 var(--spacing-md);color:var(--warning-color, #f57c00);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.warning-list[data-v-50c966f2]{list-style:none;padding:0;margin:0 0 var(--spacing-md)}.warning-item[data-v-50c966f2]{padding:var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.warning-item[data-v-50c966f2]:before{content:"• ";color:var(--warning-color, #f57c00);font-weight:700}.recommendation[data-v-50c966f2]{background:var(--info-bg, #e3f2fd);border:1px solid var(--info-border, #2196f3);border-radius:var(--border-radius-small);padding:var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm)}.recommendation strong[data-v-50c966f2]{color:var(--info-color, #1976d2)}.speaker-test-container[data-v-294d79b2]{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.canvas-wrapper[data-v-294d79b2]{width:100%;aspect-ratio:16 / 9;background:var(--background-dark);border-radius:var(--border-radius);overflow:hidden;position:relative;max-height:70vh}.speakers-container[data-v-294d79b2]{display:flex;justify-content:center;gap:var(--spacing-lg);width:100%;height:100%;padding:var(--spacing-lg)}.speaker-box[data-v-294d79b2]{flex:1;max-width:200px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-xl);border-radius:var(--border-radius-large);border:4px solid var(--border-color-light);transition:var(--transition-slow)}.speaker-box.active[data-v-294d79b2]{border:4px solid var(--primary-color);box-shadow:0 0 15px #ff6b004d}.speaker-box.clickable[data-v-294d79b2]{cursor:pointer;transition:var(--transition-default)}.speaker-box.clickable[data-v-294d79b2]:hover{box-shadow:0 0 0 3px #ff6b0045;background:var(--background-dark)}.speaker-box[aria-disabled=true][data-v-294d79b2]{cursor:not-allowed;opacity:.7}.speaker-icon[data-v-294d79b2]{position:relative;color:var(--text-tertiary);transition:var(--transition-slow);display:flex;align-items:center;justify-content:center;min-height:48px}.speaker-box.active .speaker-icon[data-v-294d79b2]{color:var(--primary-color)}.speaker-label[data-v-294d79b2]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.speaker-box.active .speaker-label[data-v-294d79b2]{color:var(--primary-color)}.canvas-overlay[data-v-294d79b2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-primary);text-align:center}.both-speakers[data-v-294d79b2]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:48px}@keyframes keyboard__key-press-58e9e8ff{0%{transform:translateY(0) translateZ(0);border-bottom-width:3px}to{transform:translateY(2px) translateZ(0);border-bottom-width:1px}}@keyframes keyboard__key-release-58e9e8ff{0%{transform:translateY(2px) translateZ(0);border-bottom-width:1px}to{transform:translateY(0) translateZ(0);border-bottom-width:3px}}.keyboard-test-container[data-v-58e9e8ff]{width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box}.test-area[data-v-58e9e8ff]{display:block;background:none;border:none;border-radius:0;overflow:visible;position:static;min-height:unset;height:unset;box-shadow:none}.keyboard-test-container[data-v-58e9e8ff],.test-area[data-v-58e9e8ff],.keyboard-view[data-v-58e9e8ff]{display:block;min-height:unset;height:unset}.keyboard-view[data-v-58e9e8ff]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden}.test-info[data-v-58e9e8ff]{text-align:center;margin-bottom:1.5rem}.test-info .status[data-v-58e9e8ff]{font-size:1.1rem;color:#e0e0e0}.keyboard[data-v-58e9e8ff]{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-lg);background-color:var(--surface-secondary);border-radius:var(--border-radius-medium);border:1px solid var(--border-color);box-shadow:var(--shadow-large);width:100%;padding-top:10%;padding-bottom:10%;min-width:auto;box-sizing:border-box;justify-content:center;margin:0 auto}.keyboard__section[data-v-58e9e8ff]{display:flex;gap:8px}.keyboard__section--function[data-v-58e9e8ff]{margin-bottom:8px}.keyboard__section--main[data-v-58e9e8ff]{display:flex;gap:16px}.keyboard__main-keys[data-v-58e9e8ff]{flex:1;display:flex;flex-direction:column;gap:3px}.keyboard__side-section[data-v-58e9e8ff]{display:flex;flex-direction:column;gap:12px}.keyboard__nav-keys[data-v-58e9e8ff]{display:flex;flex-direction:column;gap:3px}.keyboard__row[data-v-58e9e8ff]{display:flex;gap:3px;width:100%}.keyboard__key[data-v-58e9e8ff]{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:32px;flex-basis:0;flex-grow:1;max-width:55px;padding:0 3px;background-color:var(--surface-tertiary);color:var(--text-primary);border-radius:var(--border-radius-small);border:1px solid var(--border-color);border-bottom:2px solid var(--border-color);font-family:Consolas,Monaco,monospace;font-size:10px;transition:all var(--animation-fast) cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;position:relative;top:0;box-sizing:border-box;will-change:transform,background-color;backface-visibility:hidden;transform:translateZ(0)}.keyboard__key--tested[data-v-58e9e8ff]{background-color:var(--primary-color)}.keyboard__key--pressed[data-v-58e9e8ff]{animation:keyboard__key-press-58e9e8ff var(--animation-fast) cubic-bezier(.4,0,.2,1) forwards}.keyboard__key--releasing[data-v-58e9e8ff]{animation:keyboard__key-release-58e9e8ff var(--animation-fast) cubic-bezier(.2,0,.4,1) forwards}.keyboard__key--active[data-v-58e9e8ff]{background-color:var(--primary-color);animation:keyboard__key-press-58e9e8ff var(--animation-fast) cubic-bezier(.4,0,.2,1) forwards;box-shadow:0 0 5px #ff6b0080;z-index:1}.keyboard__key--utility[data-v-58e9e8ff]{background-color:var(--surface-quaternary);color:var(--text-secondary)}.keyboard__key--utility.keyboard__key--tested[data-v-58e9e8ff],.keyboard__key--utility.keyboard__key--pressed[data-v-58e9e8ff],.keyboard__key--utility.keyboard__key--active[data-v-58e9e8ff]{background-color:var(--primary-color);color:var(--text-primary)}.keyboard__key--utility.keyboard__key--releasing[data-v-58e9e8ff]{color:var(--text-primary)}.keyboard__key--space[data-v-58e9e8ff]{min-width:160px;flex-grow:6;max-width:280px}.keyboard__key--backspace[data-v-58e9e8ff],.keyboard__key--caps[data-v-58e9e8ff],.keyboard__key--enter[data-v-58e9e8ff]{min-width:65px;flex-grow:2.2;max-width:95px}.keyboard__key--tab[data-v-58e9e8ff]{min-width:50px;flex-grow:1.8;max-width:75px}.keyboard__key--shift-left[data-v-58e9e8ff],.keyboard__key--shift-right[data-v-58e9e8ff]{min-width:80px;flex-grow:2.8;max-width:110px}.keyboard__key--blank[data-v-58e9e8ff],.keyboard__key--blank-f[data-v-58e9e8ff]{background-color:transparent;border-color:transparent;pointer-events:none;box-shadow:none;color:transparent;min-width:0;flex-basis:0;width:0;padding:0}.controls-bar[data-v-58e9e8ff]{width:100%;display:flex;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--surface-primary);border-top:1px solid var(--border-color);margin-top:auto}@media (max-width: 1080px){.keyboard[data-v-58e9e8ff]{max-width:min(90vw,800px);padding:var(--spacing-sm)}.keyboard__key[data-v-58e9e8ff]{height:clamp(24px,2vh,32px);min-width:clamp(24px,2.2vw,40px);max-width:clamp(28px,3vw,48px);font-size:clamp(7px,.6vw,10px)}.keyboard__key--space[data-v-58e9e8ff]{min-width:clamp(120px,10vw,240px);max-width:clamp(160px,12vw,280px)}.keyboard__key--backspace[data-v-58e9e8ff],.keyboard__key--caps[data-v-58e9e8ff],.keyboard__key--enter[data-v-58e9e8ff]{min-width:clamp(50px,4vw,80px);max-width:clamp(60px,5vw,95px)}.keyboard__key--tab[data-v-58e9e8ff]{min-width:clamp(40px,3.5vw,65px);max-width:clamp(50px,4.5vw,75px)}.keyboard__key--shift-left[data-v-58e9e8ff],.keyboard__key--shift-right[data-v-58e9e8ff]{min-width:clamp(60px,5vw,95px);max-width:clamp(70px,6vw,110px)}}@media (min-width: 1600px){.keyboard[data-v-58e9e8ff]{max-width:min(90vw,1600px);padding:var(--spacing-lg)}.keyboard__key[data-v-58e9e8ff]{height:clamp(35px,2.5vh,45px);font-size:clamp(11px,.8vw,14px)}}@media (min-width: 2000px){.keyboard[data-v-58e9e8ff]{max-width:min(85vw,1800px);padding:var(--spacing-xl)}.keyboard__key[data-v-58e9e8ff]{height:clamp(40px,2.8vh,50px);font-size:clamp(12px,.9vw,16px)}}.mobile-notice[data-v-58e9e8ff]{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--spacing-lg);text-align:center}.mobile-notice-content[data-v-58e9e8ff]{max-width:500px;background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-medium);padding:var(--spacing-xl);box-shadow:var(--shadow-large)}.mobile-icon[data-v-58e9e8ff]{font-size:3rem;margin-bottom:var(--spacing-md)}.mobile-notice h3[data-v-58e9e8ff]{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:1.5rem}.mobile-notice p[data-v-58e9e8ff]{color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.mobile-notice ul[data-v-58e9e8ff]{text-align:left;margin:var(--spacing-md) 0;color:var(--text-secondary)}.mobile-notice li[data-v-58e9e8ff]{margin-bottom:var(--spacing-sm)}@keyframes buttonPress-eb7d3854{0%{transform:translateY(0);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}to{transform:translateY(2px);filter:drop-shadow(0 0px 0px rgba(0,0,0,.2))}}@keyframes buttonRelease-eb7d3854{0%{transform:translateY(2px);filter:drop-shadow(0 0px 0px rgba(0,0,0,.2))}to{transform:translateY(0);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}}.mouse-container[data-v-eb7d3854]{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.mouse-graphic[data-v-eb7d3854]{width:260px;max-width:100%;height:auto;max-height:100%;display:block;margin:0 auto}.mouse-button[data-v-eb7d3854]{transition:var(--transition-fast);transform-origin:top;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.mouse-button.pressed[data-v-eb7d3854]{fill:var(--primary-color);animation:buttonPress-eb7d3854 var(--animation-fast) cubic-bezier(.4,0,.2,1) forwards}.mouse-button.releasing[data-v-eb7d3854]{animation:buttonRelease-eb7d3854 var(--animation-fast) cubic-bezier(.2,0,.4,1) forwards}.mouse-button.tested[data-v-eb7d3854]{fill:var(--primary-color)}.scroll-area[data-v-eb7d3854]{transition:var(--transition-fast)}.scroll-area.active[data-v-eb7d3854],.scroll-area.tested[data-v-eb7d3854]{fill:var(--primary-color)}.middle-button[data-v-eb7d3854]{transition:var(--transition-fast);transform-origin:top;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.middle-button.pressed[data-v-eb7d3854]{fill:var(--primary-color);animation:buttonPress-eb7d3854 var(--animation-fast) cubic-bezier(.4,0,.2,1) forwards}.middle-button.releasing[data-v-eb7d3854]{animation:buttonRelease-eb7d3854 var(--animation-fast) cubic-bezier(.2,0,.4,1) forwards}.middle-button.tested[data-v-eb7d3854]{fill:var(--primary-color)}.touch-container[data-v-d799ba72]{display:flex;align-items:center;justify-content:center;position:relative;width:100%;min-height:380px;height:100%;cursor:pointer;background:transparent}.interactive-area[data-v-d799ba72]{flex:1 1 auto;position:relative;min-height:350px;width:100%;height:100%;display:flex;flex-direction:column;background:none}.challenge-area[data-v-d799ba72]{position:relative;width:100%;flex:1;min-height:300px;overflow:hidden;background:none;margin-top:0}.target[data-v-d799ba72],.drag-source[data-v-d799ba72],.drag-target-area[data-v-d799ba72]{position:absolute}.progress-indicator[data-v-d799ba72]{position:absolute;top:.75rem;left:50%;transform:translate(-50%);width:80%;z-index:30;text-align:center}.progress-text[data-v-d799ba72]{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.progress-bar[data-v-d799ba72]{height:6px;background-color:#ffffff1a;border-radius:3px;overflow:hidden}.progress-fill[data-v-d799ba72]{height:100%;background-color:var(--primary-color);border-radius:3px;transition:none}.progress-fill.success[data-v-d799ba72]{background-color:var(--success-color)}.touch-container.transitions-enabled .progress-fill[data-v-d799ba72]{transition:var(--transition-slow)}.start-prompt[data-v-d799ba72]{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;z-index:15;pointer-events:none}.tap-instruction[data-v-d799ba72]{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);animation:pulse-d799ba72 var(--animation-celebration) infinite;text-align:center;padding:var(--spacing-xl);border-radius:var(--border-radius-large);background:rgba(var(--surface-secondary-rgb, 45, 45, 45),.9);border:2px solid var(--primary-color);box-shadow:var(--shadow-large);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feedback-text[data-v-d799ba72]{position:absolute;top:3.5rem;left:50%;transform:translate(-50%);color:var(--text-muted);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);transition:none;z-index:20;text-align:center;padding:0 var(--spacing-md);width:80%}.transitions-enabled .feedback-text[data-v-d799ba72]{transition:var(--transition-slow)}.feedback-text.success[data-v-d799ba72]{color:var(--success-color)}.target-container[data-v-d799ba72]{width:100%;height:100%;position:absolute;top:0;left:0}.target[data-v-d799ba72]{position:absolute;border-radius:50%;cursor:pointer;transition:none;display:flex;align-items:center;justify-content:center}.transitions-enabled .target[data-v-d799ba72]{transition:var(--transition-slow)}.tap-target[data-v-d799ba72]{background:var(--primary-color);border:2px solid var(--primary-color)}.tap-target.success[data-v-d799ba72]{background:var(--success-color);border-color:var(--success-color);transform:scale(1.1);transition:none}.drag-target-area[data-v-d799ba72]{border:2px dashed var(--primary-color);background:transparent}.drag-source[data-v-d799ba72]{background:var(--primary-color);z-index:2}.drag-source.success[data-v-d799ba72]{background:var(--success-color);border:2px solid var(--success-color);transform:scale(1.1)}.drag-indicator[data-v-d799ba72]{position:absolute;width:40px;height:40px;display:flex;justify-content:center;align-items:center;color:var(--primary-color);z-index:5;animation:fadeInOut-d799ba72 var(--animation-celebration) infinite}.drag-indicator svg[data-v-d799ba72]{width:100%;height:100%;stroke:currentColor}.target-checkmark[data-v-d799ba72]{width:24px;height:24px;animation:checkmark-pop-d799ba72 var(--animation-normal) ease-out forwards}.checkmark-check[data-v-d799ba72]{stroke-dasharray:48;stroke-dashoffset:48;animation:checkmark-stroke-d799ba72 var(--animation-normal) cubic-bezier(.65,0,.45,1) var(--animation-fast) forwards}.transitions-enabled .tap-target.success[data-v-d799ba72]{transition:var(--transition-default)}.animated-checkmark[data-v-d799ba72]{display:flex;align-items:center;justify-content:center}.animated-checkmark svg[data-v-d799ba72]{width:48px;height:48px}.checkmark-circle[data-v-d799ba72]{stroke-dasharray:126;stroke-dashoffset:126;animation:circle-animation-d799ba72 var(--animation-extra-slow) ease-in-out forwards}.checkmark-path[data-v-d799ba72]{stroke-dasharray:24;stroke-dashoffset:24;animation:checkmark-animation-d799ba72 var(--animation-slower) ease-in-out var(--animation-extra-slow) forwards}@keyframes circle-animation-d799ba72{to{stroke-dashoffset:0}}@keyframes checkmark-animation-d799ba72{to{stroke-dashoffset:0}}@keyframes checkmark-pop-d799ba72{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes checkmark-stroke-d799ba72{to{stroke-dashoffset:0}}@keyframes pulse-d799ba72{0%{transform:scale(.95)}70%{transform:scale(1)}to{transform:scale(.95)}}@keyframes fadeInOut-d799ba72{0%,to{opacity:.4}50%{opacity:1}}.test-again-button[data-v-d799ba72]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#ff6b00;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.test-again-button[data-v-d799ba72]:hover{background-color:#e55c00;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b004d}.test-again-button[data-v-d799ba72]:active{transform:translateY(0);box-shadow:0 2px 6px #ff6b0033}.test-again-button svg[data-v-d799ba72]{width:20px;height:20px}.compatibility-warning[data-v-d799ba72]{background:#f973161a;border:1px solid rgba(249,115,22,.3);border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#c2410c;font-size:14px}.warning-header[data-v-d799ba72]{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}.warning-header svg[data-v-d799ba72]{color:#f97316;flex-shrink:0}.warning-content p[data-v-d799ba72]{margin:0 0 8px;font-size:13px}.recommendation-list[data-v-d799ba72]{margin:0;padding-left:16px;font-size:13px}.recommendation-list li[data-v-d799ba72]{margin-bottom:4px}.recommendation-list li[data-v-d799ba72]:last-child{margin-bottom:0}.battery-status[data-v-a3838412]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--spacing-3xl);padding:var(--spacing-xl);background:var(--surface-secondary);border-radius:var(--border-radius-medium);border:1px solid var(--border-color);box-shadow:var(--shadow-small)}.battery-icon[data-v-a3838412]{width:80px;height:40px;border:2px solid var(--border-color);border-radius:var(--border-radius-small);position:relative;padding:3px;background:var(--surface-tertiary)}.battery-icon[data-v-a3838412]:after{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:6px;height:16px;background:var(--border-color);border-radius:0 3px 3px 0}.battery-level[data-v-a3838412]{height:100%;background:var(--success-color);border-radius:2px;transition:var(--transition-default)}.charging .battery-level[data-v-a3838412]{background:var(--warning-color)}.charging-bolt[data-v-a3838412]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.battery-details[data-v-a3838412]{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xl);width:100%;padding-left:var(--spacing-xl);margin-left:var(--spacing-xl);border-left:1px solid var(--border-color-light)}.battery-info-row[data-v-a3838412]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center}.battery-label[data-v-a3838412]{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.battery-value[data-v-a3838412]{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:1.2}.battery-value.charging-text[data-v-a3838412]{color:var(--warning-color)}.test-instructions[data-v-a3838412]{padding:var(--spacing-lg);background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-color)}.instruction-step[data-v-a3838412]{text-align:center}.instruction-step h3[data-v-a3838412]{color:var(--text-muted);margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.instruction-step p[data-v-a3838412]{color:var(--text-tertiary);margin:0 0 var(--spacing-md);font-size:var(--font-size-base)}.timer[data-v-a3838412]{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:#ff9800}.success h3[data-v-a3838412]{color:var(--success-color)}.complete-test-button[data-v-a3838412]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--success-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.complete-test-button[data-v-a3838412]:hover{background-color:var(--success-color-dark, #16a34a);transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}.complete-test-button[data-v-a3838412]:active{transform:translateY(0);box-shadow:0 2px 6px #22c55e33}.animated-checkmark[data-v-a3838412]{display:flex;align-items:center;justify-content:center}.animated-checkmark svg[data-v-a3838412]{width:48px;height:48px}.checkmark-circle[data-v-a3838412]{stroke-dasharray:126;stroke-dashoffset:126;animation:circle-animation-a3838412 var(--animation-extra-slow) ease-in-out forwards}.checkmark-path[data-v-a3838412]{stroke-dasharray:24;stroke-dashoffset:24;animation:checkmark-animation-a3838412 var(--animation-slower) ease-in-out var(--animation-extra-slow) forwards}@keyframes circle-animation-a3838412{to{stroke-dashoffset:0}}@keyframes checkmark-animation-a3838412{to{stroke-dashoffset:0}}
