.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-c08c2f5b]{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-c08c2f5b]{flex-grow:1}.panel-icon[data-v-c08c2f5b]{margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.panel-icon.icon-error[data-v-c08c2f5b]{color:var(--danger-color)}.panel-icon.icon-success[data-v-c08c2f5b]{color:var(--success-color)}.panel-icon.icon-warning[data-v-c08c2f5b]{color:var(--warning-color)}.panel-icon.icon-info[data-v-c08c2f5b],.panel-icon.icon-loading[data-v-c08c2f5b],.panel-icon.icon-permission[data-v-c08c2f5b]{color:var(--primary-color)}.panel-content[data-v-c08c2f5b]{max-width:350px;width:100%}.panel-title[data-v-c08c2f5b]{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-c08c2f5b]{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-c08c2f5b]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.action-button[data-v-c08c2f5b]{min-width:140px}.spinning[data-v-c08c2f5b]{animation:spin-c08c2f5b var(--animation-morphing) linear infinite}@keyframes spin-c08c2f5b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.state-panel.state-error[data-v-c08c2f5b]{background-color:#dc35450d}.state-panel.state-success[data-v-c08c2f5b]{background-color:#28a7450d}.state-panel.state-warning[data-v-c08c2f5b]{background-color:#ffc1070d}.state-panel.state-loading[data-v-c08c2f5b]{background-color:#ff6b000d}.device-selector[data-v-1de7bb26]{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-1de7bb26]{color:var(--text-primary);font-size:var(--font-size-sm)}.device-selector select[data-v-1de7bb26]{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-1de7bb26]:disabled{opacity:.6;cursor:not-allowed}.device-selector select[data-v-1de7bb26]:focus{outline:none;border-color:var(--primary-color)}.device-selector select option[data-v-1de7bb26]{background:var(--border-color-custom);color:var(--text-primary)}.webcam-test-container[data-v-e2de0832]{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.video-wrapper[data-v-e2de0832]{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-e2de0832]{width:100%;height:100%;object-fit:cover}.camera-preview.blurred[data-v-e2de0832]{filter:blur(8px)}.video-overlay[data-v-e2de0832]{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-e2de0832]{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-e2de0832]{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-e2de0832]{list-style:none;padding:0;margin:0 0 var(--spacing-md)}.warning-item[data-v-e2de0832]{padding:var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.warning-item[data-v-e2de0832]:before{content:"• ";color:var(--warning-color, #f57c00);font-weight:700}.recommendation[data-v-e2de0832]{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-e2de0832]{color:var(--info-color, #1976d2)}.microphone-test-container[data-v-48ff5796]{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.canvas-wrapper[data-v-48ff5796]{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-48ff5796]{width:100%;height:100%;background:var(--background-dark);border-radius:var(--border-radius);overflow:hidden;position:relative}.canvas-overlay[data-v-48ff5796]{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-48ff5796]{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-48ff5796]{height:100%;background:var(--warning-color);transition:width var(--transition-fast);border-radius:var(--border-radius-small);box-shadow:0 0 10px #ff98004d}.action-button[data-v-48ff5796]{min-width:140px}.compatibility-warnings[data-v-48ff5796]{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-48ff5796]{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-48ff5796]{list-style:none;padding:0;margin:0 0 var(--spacing-md)}.warning-item[data-v-48ff5796]{padding:var(--spacing-sm) 0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.4}.warning-item[data-v-48ff5796]:before{content:"• ";color:var(--warning-color, #f57c00);font-weight:700}.recommendation[data-v-48ff5796]{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-48ff5796]{color:var(--info-color, #1976d2)}.speaker-test-container[data-v-e011600a]{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.canvas-wrapper[data-v-e011600a]{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-e011600a]{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);width:100%;height:100%;padding:var(--spacing-md)}.speaker-box[data-v-e011600a]{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-e011600a]{border:4px solid var(--primary-color);box-shadow:0 0 15px #ff6b004d}.speaker-box.clickable[data-v-e011600a]{cursor:pointer;transition:var(--transition-default)}.speaker-box.clickable[data-v-e011600a]:hover{box-shadow:0 0 0 3px #ff6b0045;background:var(--background-dark)}.speaker-box[aria-disabled=true][data-v-e011600a]{cursor:not-allowed;opacity:.7}.speaker-icon[data-v-e011600a]{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-e011600a]{color:var(--primary-color)}.speaker-label[data-v-e011600a]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.speaker-box.active .speaker-label[data-v-e011600a]{color:var(--primary-color)}.canvas-overlay[data-v-e011600a]{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-e011600a]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:48px}@keyframes keyPress-f4caed2b{0%{transform:translateY(0);border-bottom-width:3px}to{transform:translateY(2px);border-bottom-width:1px}}@keyframes keyRelease-f4caed2b{0%{transform:translateY(2px);border-bottom-width:1px}to{transform:translateY(0);border-bottom-width:3px}}.keyboard-test-container[data-v-f4caed2b]{width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box}.test-area[data-v-f4caed2b]{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-f4caed2b],.test-area[data-v-f4caed2b],.keyboard-view[data-v-f4caed2b]{display:block;min-height:unset;height:unset}.keyboard-view[data-v-f4caed2b]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden}.test-info[data-v-f4caed2b]{text-align:center;margin-bottom:1.5rem}.test-info .status[data-v-f4caed2b]{font-size:1.1rem;color:#e0e0e0}.keyboard-container[data-v-f4caed2b]{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-f4caed2b]{display:flex;gap:8px}.keyboard-section.function-row[data-v-f4caed2b]{margin-bottom:8px}.main-section[data-v-f4caed2b]{display:flex;gap:16px}.main-keys[data-v-f4caed2b]{flex:1;display:flex;flex-direction:column;gap:3px}.side-section[data-v-f4caed2b]{display:flex;flex-direction:column;gap:12px}.nav-keys[data-v-f4caed2b]{display:flex;flex-direction:column;gap:3px}.keyboard-row[data-v-f4caed2b]{display:flex;gap:3px;width:100%}.key[data-v-f4caed2b]{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:background-color var(--animation-instant) cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;position:relative;top:0;box-sizing:border-box}.key.tested[data-v-f4caed2b]{background-color:var(--primary-color)}.key.pressed[data-v-f4caed2b]{animation:keyPress-f4caed2b var(--animation-fast) cubic-bezier(.4,0,.2,1) forwards}.key.releasing[data-v-f4caed2b]{animation:keyRelease-f4caed2b var(--animation-fast) cubic-bezier(.2,0,.4,1) forwards}.key.active[data-v-f4caed2b]{background-color:var(--primary-color);animation:keyPress-f4caed2b var(--animation-fast) cubic-bezier(.4,0,.2,1) forwards;box-shadow:0 0 5px #ff6b0080}.key.utility[data-v-f4caed2b]{background-color:var(--surface-quaternary);color:var(--text-secondary)}.key.utility.tested[data-v-f4caed2b],.key.utility.pressed[data-v-f4caed2b],.key.utility.active[data-v-f4caed2b]{background-color:var(--primary-color);color:var(--text-primary)}.key.utility.releasing[data-v-f4caed2b]{color:var(--text-primary)}.key-space[data-v-f4caed2b]{min-width:160px;flex-grow:6;max-width:280px}.key-backspace[data-v-f4caed2b],.key-caps[data-v-f4caed2b],.key-enter[data-v-f4caed2b]{min-width:65px;flex-grow:2.2;max-width:95px}.key-tab[data-v-f4caed2b]{min-width:50px;flex-grow:1.8;max-width:75px}.key-shift-left[data-v-f4caed2b],.key-shift-right[data-v-f4caed2b]{min-width:80px;flex-grow:2.8;max-width:110px}.key-blank[data-v-f4caed2b],.key-blank-f[data-v-f4caed2b]{background-color:transparent!important;border-color:transparent!important;pointer-events:none;box-shadow:none!important;color:transparent!important;min-width:0!important;flex-basis:0!important;width:0!important;padding:0!important}.controls-bar[data-v-f4caed2b]{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}.action-button[data-v-f4caed2b]{min-width:140px;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;border-radius:var(--border-radius-medium);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-default);border:none;color:var(--text-primary)}.action-button[data-v-f4caed2b]:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.action-button.primary[data-v-f4caed2b]{background-color:var(--primary-color)}.action-button.primary[data-v-f4caed2b]:hover{background-color:var(--primary-color-dark)}.action-button.success[data-v-f4caed2b]{background-color:var(--success-color)!important;color:var(--text-primary)!important;border:2px solid #17642b;text-shadow:0 1px 2px rgba(0,0,0,.4)}.action-button.success[data-v-f4caed2b]:hover{background-color:#218838}.action-button.danger[data-v-f4caed2b]{background-color:#dc3545}.action-button.danger[data-v-f4caed2b]:hover{background-color:#c82333}@media (max-width: 1080px){.keyboard-container[data-v-f4caed2b]{max-width:min(90vw,800px);padding:var(--spacing-sm)}.key[data-v-f4caed2b]{height:clamp(24px,2vh,32px);min-width:clamp(24px,2.2vw,40px);max-width:clamp(28px,3vw,48px);font-size:clamp(7px,.6vw,10px)}.key-space[data-v-f4caed2b]{min-width:clamp(120px,10vw,240px);max-width:clamp(160px,12vw,280px)}.key-backspace[data-v-f4caed2b],.key-caps[data-v-f4caed2b],.key-enter[data-v-f4caed2b]{min-width:clamp(50px,4vw,80px);max-width:clamp(60px,5vw,95px)}.key-tab[data-v-f4caed2b]{min-width:clamp(40px,3.5vw,65px);max-width:clamp(50px,4.5vw,75px)}.key-shift-left[data-v-f4caed2b],.key-shift-right[data-v-f4caed2b]{min-width:clamp(60px,5vw,95px);max-width:clamp(70px,6vw,110px)}}@media (min-width: 1600px){.keyboard-container[data-v-f4caed2b]{max-width:min(90vw,1600px);padding:var(--spacing-lg)}.key[data-v-f4caed2b]{height:clamp(35px,2.5vh,45px);font-size:clamp(11px,.8vw,14px)}}@media (min-width: 2000px){.keyboard-container[data-v-f4caed2b]{max-width:min(85vw,1800px);padding:var(--spacing-xl)}.key[data-v-f4caed2b]{height:clamp(40px,2.8vh,50px);font-size:clamp(12px,.9vw,16px)}}.mobile-notice[data-v-f4caed2b]{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--spacing-lg);text-align:center}.mobile-notice-content[data-v-f4caed2b]{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-f4caed2b]{font-size:3rem;margin-bottom:var(--spacing-md)}.mobile-notice h3[data-v-f4caed2b]{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:1.5rem}.mobile-notice p[data-v-f4caed2b]{color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.mobile-notice ul[data-v-f4caed2b]{text-align:left;margin:var(--spacing-md) 0;color:var(--text-secondary)}.mobile-notice li[data-v-f4caed2b]{margin-bottom:var(--spacing-sm)}.mobile-notice .action-button[data-v-f4caed2b]{margin-top:var(--spacing-lg)}@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-b8c983ab]{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-b8c983ab]{flex:1 1 auto;position:relative;min-height:350px;width:100%;height:100%;display:flex;flex-direction:column;background:none}.challenge-area[data-v-b8c983ab]{position:relative;width:100%;flex:1;min-height:300px;overflow:hidden;background:none;margin-top:0}.target[data-v-b8c983ab],.drag-source[data-v-b8c983ab],.drag-target-area[data-v-b8c983ab]{position:absolute}.progress-indicator[data-v-b8c983ab]{position:absolute;top:.75rem;left:50%;transform:translate(-50%);width:80%;z-index:30;text-align:center}.progress-text[data-v-b8c983ab]{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.progress-bar[data-v-b8c983ab]{height:6px;background-color:#ffffff1a;border-radius:3px;overflow:hidden}.progress-fill[data-v-b8c983ab]{height:100%;background-color:var(--primary-color);border-radius:3px;transition:none}.progress-fill.success[data-v-b8c983ab]{background-color:var(--success-color)}.touch-container.transitions-enabled .progress-fill[data-v-b8c983ab]{transition:var(--transition-slow)}.start-prompt[data-v-b8c983ab]{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-b8c983ab]{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);animation:pulse-b8c983ab 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-b8c983ab]{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-b8c983ab]{transition:var(--transition-slow)}.feedback-text.success[data-v-b8c983ab]{color:var(--success-color)}.target-container[data-v-b8c983ab]{width:100%;height:100%;position:absolute;top:0;left:0}.target[data-v-b8c983ab]{position:absolute;border-radius:50%;cursor:pointer;transition:none;display:flex;align-items:center;justify-content:center}.transitions-enabled .target[data-v-b8c983ab]{transition:var(--transition-slow)}.tap-target[data-v-b8c983ab]{background:var(--primary-color);border:2px solid var(--primary-color)}.tap-target.success[data-v-b8c983ab]{background:var(--success-color);border-color:var(--success-color);transform:scale(1.1);transition:none}.drag-target-area[data-v-b8c983ab]{border:2px dashed var(--primary-color);background:transparent}.drag-source[data-v-b8c983ab]{background:var(--primary-color);z-index:2}.drag-source.success[data-v-b8c983ab]{background:var(--success-color);border:2px solid var(--success-color);transform:scale(1.1)}.drag-indicator[data-v-b8c983ab]{position:absolute;width:40px;height:40px;display:flex;justify-content:center;align-items:center;color:var(--primary-color);z-index:5;animation:fadeInOut-b8c983ab var(--animation-celebration) infinite}.drag-indicator svg[data-v-b8c983ab]{width:100%;height:100%;stroke:currentColor}.target-checkmark[data-v-b8c983ab]{width:24px;height:24px;animation:checkmark-pop-b8c983ab var(--animation-normal) ease-out forwards}.checkmark-check[data-v-b8c983ab]{stroke-dasharray:48;stroke-dashoffset:48;animation:checkmark-stroke-b8c983ab var(--animation-normal) cubic-bezier(.65,0,.45,1) var(--animation-fast) forwards}.transitions-enabled .tap-target.success[data-v-b8c983ab]{transition:var(--transition-default)}.animated-checkmark[data-v-b8c983ab]{display:flex;align-items:center;justify-content:center}.animated-checkmark svg[data-v-b8c983ab]{width:48px;height:48px}.checkmark-circle[data-v-b8c983ab]{stroke-dasharray:126;stroke-dashoffset:126;animation:circle-animation-b8c983ab var(--animation-extra-slow) ease-in-out forwards}.checkmark-path[data-v-b8c983ab]{stroke-dasharray:24;stroke-dashoffset:24;animation:checkmark-animation-b8c983ab var(--animation-slower) ease-in-out var(--animation-extra-slow) forwards}@keyframes circle-animation-b8c983ab{to{stroke-dashoffset:0}}@keyframes checkmark-animation-b8c983ab{to{stroke-dashoffset:0}}@keyframes checkmark-pop-b8c983ab{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes checkmark-stroke-b8c983ab{to{stroke-dashoffset:0}}@keyframes pulse-b8c983ab{0%{transform:scale(.95)}70%{transform:scale(1)}to{transform:scale(.95)}}@keyframes fadeInOut-b8c983ab{0%,to{opacity:.4}50%{opacity:1}}.test-again-button[data-v-b8c983ab]{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-b8c983ab]:hover{background-color:#e55c00;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b004d}.test-again-button[data-v-b8c983ab]:active{transform:translateY(0);box-shadow:0 2px 6px #ff6b0033}.test-again-button svg[data-v-b8c983ab]{width:20px;height:20px}.compatibility-warning[data-v-b8c983ab]{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-b8c983ab]{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}.warning-header svg[data-v-b8c983ab]{color:#f97316;flex-shrink:0}.warning-content p[data-v-b8c983ab]{margin:0 0 8px;font-size:13px}.recommendation-list[data-v-b8c983ab]{margin:0;padding-left:16px;font-size:13px}.recommendation-list li[data-v-b8c983ab]{margin-bottom:4px}.recommendation-list li[data-v-b8c983ab]:last-child{margin-bottom:0}.battery-status[data-v-518e3f0e]{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-518e3f0e]{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-518e3f0e]: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-518e3f0e]{height:100%;background:var(--success-color);border-radius:2px;transition:var(--transition-default)}.charging .battery-level[data-v-518e3f0e]{background:var(--warning-color)}.charging-bolt[data-v-518e3f0e]{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-518e3f0e]{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-518e3f0e]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center}.battery-label[data-v-518e3f0e]{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-518e3f0e]{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-518e3f0e]{color:var(--warning-color)}.test-instructions[data-v-518e3f0e]{padding:var(--spacing-lg);background:var(--background-light);border-radius:var(--border-radius);border:1px solid var(--border-color)}.instruction-step[data-v-518e3f0e]{text-align:center}.instruction-step h3[data-v-518e3f0e]{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-518e3f0e]{color:var(--text-tertiary);margin:0 0 var(--spacing-md);font-size:var(--font-size-base)}.timer[data-v-518e3f0e]{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:#ff9800}.success h3[data-v-518e3f0e]{color:var(--success-color)}.complete-test-button[data-v-518e3f0e]{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-518e3f0e]:hover{background-color:var(--success-color-dark, #16a34a);transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}.complete-test-button[data-v-518e3f0e]:active{transform:translateY(0);box-shadow:0 2px 6px #22c55e33}.animated-checkmark[data-v-518e3f0e]{display:flex;align-items:center;justify-content:center}.animated-checkmark svg[data-v-518e3f0e]{width:48px;height:48px}.checkmark-circle[data-v-518e3f0e]{stroke-dasharray:126;stroke-dashoffset:126;animation:circle-animation-518e3f0e var(--animation-extra-slow) ease-in-out forwards}.checkmark-path[data-v-518e3f0e]{stroke-dasharray:24;stroke-dashoffset:24;animation:checkmark-animation-518e3f0e var(--animation-slower) ease-in-out var(--animation-extra-slow) forwards}@keyframes circle-animation-518e3f0e{to{stroke-dashoffset:0}}@keyframes checkmark-animation-518e3f0e{to{stroke-dashoffset:0}}
