@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@200;400;600;700;900&family=IBM+Plex+Mono:wght@400;600;700&display=swap";.piano-svg[data-v-0cd71ce0]{width:96vw;height:auto;margin-left:-48vw;left:50%;position:relative;display:block;cursor:pointer;overflow-x:auto;white-space:nowrap}.white-key[data-v-0cd71ce0],.black-key[data-v-0cd71ce0]{cursor:pointer;transition:fill .1s ease}.white-key[data-v-0cd71ce0]:hover{opacity:.9}.black-key[data-v-0cd71ce0]:hover{opacity:.95}.white-key[data-v-0cd71ce0]:active{filter:brightness(.95)}.black-key[data-v-0cd71ce0]:active{filter:brightness(1.1)}.auth-container[data-v-df83eb62]{display:flex;align-items:center;justify-content:center;background:transparent;padding:1rem}.auth-card[data-v-df83eb62]{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px}.auth-header[data-v-df83eb62]{text-align:center;margin-bottom:2rem}.auth-header h1[data-v-df83eb62]{margin:0 0 .5rem;font-size:1.75rem;background:linear-gradient(135deg,#440d0f,#84596b);-webkit-background-clip:text;background-clip:text}.auth-header p[data-v-df83eb62]{margin:0;color:#718096;font-size:.95rem}.tabs[data-v-df83eb62]{display:flex;gap:.75rem;margin-bottom:1.5rem;background:#f8fafc;padding:.5rem;border-radius:12px;flex-wrap:wrap}.tab-btn[data-v-df83eb62]{flex:1;min-width:80px;padding:.75rem 1rem;border:none;background:transparent;color:#64748b;font-weight:600;font-size:.85rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.tab-btn[data-v-df83eb62]:hover{background:#e2e8f0;color:#334155}.tab-btn.active[data-v-df83eb62]{background:linear-gradient(135deg,#440d0f,#84596b);color:#fff;box-shadow:0 2px 8px #440d0f4d}.auth-form[data-v-df83eb62]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-df83eb62]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-df83eb62]{font-weight:600;color:#2d3748;font-size:.9rem}.form-group input[data-v-df83eb62]{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.95rem;transition:all .2s ease;font-family:inherit}.form-group input[data-v-df83eb62]:focus{outline:none;border-color:#440d0f;box-shadow:0 0 0 3px #440d0f1a}.submit-btn[data-v-df83eb62]{padding:.875rem 1.75rem;background:linear-gradient(135deg,#440d0f,#84596b);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #440d0f66;margin-top:.5rem}.submit-btn[data-v-df83eb62]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #440d0f80}.submit-btn[data-v-df83eb62]:active:not(:disabled){transform:translateY(0)}.submit-btn[data-v-df83eb62]:disabled{opacity:.6;cursor:not-allowed}.passkey-section[data-v-df83eb62]{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0}.passkey-btn[data-v-df83eb62]{width:100%;padding:1rem 1.75rem;background:linear-gradient(135deg,#440d0f,#84596b);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #440d0f66}.passkey-btn[data-v-df83eb62]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #440d0f80}.passkey-btn[data-v-df83eb62]:active:not(:disabled){transform:translateY(0)}.passkey-btn[data-v-df83eb62]:disabled{opacity:.6;cursor:not-allowed}.passkey-hint[data-v-df83eb62]{margin:0;color:#718096;font-size:.9rem;text-align:center}.message[data-v-df83eb62]{margin-top:1rem;padding:.875rem 1rem;border-radius:10px;font-size:.9rem;border-left:4px solid}.message.error[data-v-df83eb62]{background:#fef2f2;color:#dc2626;border-left-color:#ef4444}.message.success[data-v-df83eb62]{background:#f0fdf4;color:#16a34a;border-left-color:#22c55e}.message.info[data-v-df83eb62]{background:#eff6ff;color:#0284c7;border-left-color:#0ea5e9}@media(prefers-color-scheme:dark){.auth-card[data-v-df83eb62]{background:#1f1f1f;color:#f0f0f0}.auth-header h1[data-v-df83eb62]{color:#f0f0f0}.auth-header p[data-v-df83eb62]{color:#aaa}.tabs[data-v-df83eb62]{background:#2a2a2a}.tab-btn[data-v-df83eb62]{color:#aaa}.tab-btn[data-v-df83eb62]:hover{background:#333;color:#e0e0e0}.form-group label[data-v-df83eb62]{color:#e0e0e0}.form-group input[data-v-df83eb62]{background:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}.form-group input[data-v-df83eb62]:focus{border-color:#440d0f}.passkey-hint[data-v-df83eb62]{color:#aaa}}input[data-v-7ea42ee1]{padding:.4rem;width:100%;border:1px solid #ccc;border-radius:6px;font-size:.9rem}input[data-v-7ea42ee1]:focus{outline:none;border-color:#440d0f;box-shadow:0 0 0 2px #440d0f1a}button[data-v-7ea42ee1]{padding:.6rem 1rem;margin-right:.5rem;background:#440d0f;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}button[data-v-7ea42ee1]:hover{background:#af9bb6}button[data-v-7ea42ee1]:last-child{background:#94a3b8;margin-right:0}button[data-v-7ea42ee1]:last-child:hover{background:#64748b}.twofactor[data-v-49731ae9]{padding:1rem}.close-btn[data-v-49731ae9]{padding:.5rem 1rem;background:#440d0f;color:#fff;border:none;cursor:pointer;border-radius:6px;transition:background .2s}.close-btn[data-v-49731ae9]:hover{background:#af9bb6}.setup-btn[data-v-49731ae9]{padding:.75rem 1.5rem;background:#440d0f;color:#fff;border:none;cursor:pointer;border-radius:6px;transition:background .2s}.setup-btn[data-v-49731ae9]:hover{background:#af9bb6}.verify-btn[data-v-49731ae9]{padding:.6rem 1rem;background:#440d0f;color:#fff;border:none;cursor:pointer;border-radius:6px;transition:background .2s}.verify-btn[data-v-49731ae9]:hover{background:#af9bb6}input[data-v-49731ae9]{padding:.6rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem;flex:1;min-width:200px}input[data-v-49731ae9]:focus{outline:none;border-color:#440d0f;box-shadow:0 0 0 2px #440d0f1a}.account-settings-root[data-v-8e84423f]{position:relative;display:inline-block}.account-button[data-v-8e84423f]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%);border-radius:0;border:2px solid var(--accent-bronze);cursor:pointer;transition:all .3s ease;font-size:.95rem;font-weight:700;font-family:IBM Plex Mono,monospace;color:var(--text-light);box-shadow:inset 0 1px #ffffff1a,0 5px 15px #0000004d}.account-button[data-v-8e84423f]:hover{border-color:var(--accent-gold);background:linear-gradient(135deg,var(--primary-medium) 0%,var(--primary-dark) 100%);box-shadow:inset 0 1px #ffffff26,0 8px 20px #0006,0 0 10px #d4af3726}.account-button svg[data-v-8e84423f]{flex-shrink:0}.close-btn[data-v-8e84423f]{background:#f7fafc;border:2px solid #e2e8f0;font-size:1.5rem;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#718096;transition:all .3s ease;flex-shrink:0}.close-btn[data-v-8e84423f]:hover{background:#edf2f7;color:#2d3748;transform:rotate(90deg)}.overlay[data-v-8e84423f]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3;z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem}.panel[data-v-8e84423f]{background:linear-gradient(135deg,#f5f1ed,#e8dcc4),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);padding:2.5rem;border-radius:0;border:4px solid #a0826d;width:440px;max-width:100%;max-height:85vh;overflow-y:auto;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 5px #00000014,0 15px 40px #00000026,0 0 30px #8b6f4726;position:relative;z-index:10000;color:#2d1f1a}.panel-header[data-v-8e84423f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel h3[data-v-8e84423f]{margin:0;font-family:Crimson Pro,serif;font-size:2rem;font-weight:700;color:#8b6f47;text-shadow:1px 1px 2px rgba(0,0,0,.1);letter-spacing:1px}.panel h4[data-v-8e84423f]{margin:1.5rem 0 .75rem;font-family:Crimson Pro,serif;font-size:1.2rem;font-weight:600;color:#8b6f47;text-shadow:1px 1px 1px rgba(0,0,0,.08)}.info[data-v-8e84423f]{background:#e8dcc466;padding:1rem;border-radius:0;margin-bottom:1rem;border:2px solid #a0826d;box-shadow:inset 0 1px #ffffff4d}.info div[data-v-8e84423f]{margin-bottom:.5rem;color:#2d1f1a;font-size:.95rem;font-family:IBM Plex Mono,monospace;font-weight:500}.info div[data-v-8e84423f]:last-child{margin-bottom:0}.actions[data-v-8e84423f]{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.actions button[data-v-8e84423f]{flex:1;min-width:120px;padding:.75rem 1rem;font-size:.9rem;font-family:IBM Plex Mono,monospace;font-weight:600;border-radius:0;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%);color:var(--text-light);border:2px solid var(--accent-bronze);cursor:pointer;transition:all .2s;box-shadow:inset 0 1px #ffffff1a}.actions button[data-v-8e84423f]:hover{background:linear-gradient(135deg,var(--primary-medium) 0%,var(--primary-dark) 100%);border-color:var(--accent-gold);box-shadow:inset 0 1px #ffffff26,0 4px 8px #0003}.passkeys-section[data-v-8e84423f]{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #f1f5f9}.passkeys-section ul[data-v-8e84423f]{list-style:none;padding:0;margin:.75rem 0}.passkeys-section li[data-v-8e84423f]{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:#f8fafc;border-radius:10px;margin-bottom:.5rem;font-size:.9rem}.passkeys-section li button[data-v-8e84423f]{padding:.5rem .875rem;font-size:.85rem;background:#ef4444;color:#fff;border:none;cursor:pointer;border-radius:6px;transition:background .2s}.passkeys-section li button[data-v-8e84423f]:hover{background:#dc2626}.passkeys-section>div>button[data-v-8e84423f]{padding:.75rem 1rem;font-size:.9rem;background:#440d0f;color:#fff;border:none;cursor:pointer;border-radius:10px;transition:background .2s}.passkeys-section>div>button[data-v-8e84423f]:hover{background:#af9bb6}.accordion-section[data-v-8e84423f]{margin-top:1.5rem;border-top:2px solid #f1f5f9;padding-top:1.5rem}.accordion-header[data-v-8e84423f]{width:100%;display:flex;justify-content:space-between;align-items:center;background:#e8dcc466;border:2px solid #a0826d;padding:1rem;border-radius:8px;cursor:pointer;font-weight:600;color:#8b6f47;font-family:Crimson Pro,serif;font-size:1.1rem;transition:all .2s}.accordion-header[data-v-8e84423f]:hover{background:#e8dcc499;border-color:#8b6f47}.accordion-icon[data-v-8e84423f]{transition:transform .3s ease;flex-shrink:0;color:#8b6f47}.accordion-content[data-v-8e84423f]{padding:1rem;animation:slideDown-8e84423f .3s ease}.accordion-content ul[data-v-8e84423f]{list-style:none;padding:0;margin:.75rem 0}.accordion-content li[data-v-8e84423f]{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:#f8fafc;border-radius:10px;margin-bottom:.5rem;font-size:.9rem}.accordion-content li button[data-v-8e84423f]{padding:.5rem .875rem;font-size:.85rem;background:#ef4444;color:#fff;border:none;cursor:pointer;border-radius:6px;transition:background .2s}.accordion-content li button[data-v-8e84423f]:hover{background:#dc2626}.accordion-content>div>button[data-v-8e84423f]{padding:.75rem 1rem;font-size:.9rem;background:#440d0f;color:#fff;border:none;cursor:pointer;border-radius:10px;transition:background .2s}.accordion-content>div>button[data-v-8e84423f]:hover{background:#af9bb6}.change-wrap[data-v-8e84423f],.twofactor-setup[data-v-8e84423f]{margin-top:1rem;border-top:2px solid #f1f5f9;padding-top:1rem}.leaderboard-settings-section[data-v-8e84423f],.play-notes-section[data-v-8e84423f]{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #f1f5f9}.loading-message[data-v-8e84423f]{color:#64748b;font-size:.9rem;padding:.5rem 0}.setting-group[data-v-8e84423f]{margin-bottom:1.25rem}.setting-label[data-v-8e84423f]{display:block;margin-bottom:.5rem;font-weight:600;color:#334155;font-size:.95rem}.setting-input[data-v-8e84423f]{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;color:#334155;background:#f8fafc;transition:all .2s;box-sizing:border-box}.setting-input[data-v-8e84423f]:focus{outline:none;border-color:#440d0f;background:#fff}.setting-hint[data-v-8e84423f]{margin:.5rem 0 0;font-size:.85rem;color:#64748b}.checkbox-group[data-v-8e84423f]{display:flex;flex-direction:column}.checkbox-label[data-v-8e84423f]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:#334155;font-size:.95rem}.checkbox-input[data-v-8e84423f]{width:18px;height:18px;cursor:pointer;accent-color:#440D0F}.save-button[data-v-8e84423f]{width:100%;padding:.75rem 1rem;background:#440d0f;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.save-button[data-v-8e84423f]:hover:not(:disabled){background:#af9bb6}.save-button[data-v-8e84423f]:disabled{opacity:.6;cursor:not-allowed}.message[data-v-8e84423f]{margin-top:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;animation:slideDown-8e84423f .3s ease}.message.success[data-v-8e84423f]{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error[data-v-8e84423f]{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes slideDown-8e84423f{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay[data-v-8e84423f]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex!important;align-items:center!important;justify-content:center!important;background:#000000b3;z-index:99999!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem}.modal-content[data-v-8e84423f]{background:linear-gradient(135deg,#f5f1ed,#e8dcc4),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);border-radius:0;border:4px solid #a0826d;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 5px #00000014,0 15px 40px #00000026,0 0 30px #8b6f4726;width:100%;max-width:450px;z-index:100000;position:relative}.modal-header[data-v-8e84423f]{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:2px solid #a0826d}.modal-header h2[data-v-8e84423f]{margin:0;font-family:Crimson Pro,serif;font-size:1.8rem;font-weight:700;color:#8b6f47;text-shadow:1px 1px 2px rgba(0,0,0,.1);letter-spacing:1px}.modal-close-btn[data-v-8e84423f]{background:#f7fafc;border:2px solid #e2e8f0;font-size:1.5rem;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#718096;transition:all .3s ease;flex-shrink:0}.modal-close-btn[data-v-8e84423f]:hover{background:#edf2f7;color:#2d3748;transform:rotate(90deg)}.modal-body[data-v-8e84423f]{padding:2rem;color:#2d1f1a}.modal-body h3[data-v-8e84423f]{display:none}@media(prefers-color-scheme:dark){.account-button[data-v-8e84423f]{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%);border-color:var(--accent-bronze);color:var(--text-light)}.account-button[data-v-8e84423f]:hover{background:linear-gradient(135deg,var(--primary-medium) 0%,var(--primary-dark) 100%);border-color:var(--accent-gold);box-shadow:inset 0 1px #ffffff26,0 8px 20px #0006,0 0 10px #d4af3726}.panel[data-v-8e84423f]{background:linear-gradient(135deg,#2d1f1af2,#4a3933e6),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px)!important;border:4px solid var(--accent-bronze)!important;color:var(--text-light);box-shadow:inset 0 1px #ffffff1a,inset 0 -2px 5px #0000004d,0 15px 40px #00000080,0 0 30px #d4af371a!important}.panel[data-v-8e84423f]:before{border-color:var(--accent-gold)}.panel h3[data-v-8e84423f]{color:var(--accent-gold);text-shadow:2px 2px 4px var(--accent-shadow)}.panel h4[data-v-8e84423f]{color:var(--accent-gold);text-shadow:1px 1px 2px var(--accent-shadow)}.info[data-v-8e84423f]{background:#4a393380;border:2px solid var(--accent-bronze);border-left-width:2px}.info div[data-v-8e84423f]{color:var(--text-light);font-weight:500}.info div strong[data-v-8e84423f]{color:var(--accent-gold);text-shadow:1px 1px 2px var(--accent-shadow)}.actions button[data-v-8e84423f]{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%);border-color:var(--accent-bronze);color:var(--text-light)}.actions button[data-v-8e84423f]:hover{background:linear-gradient(135deg,var(--primary-medium) 0%,var(--primary-dark) 100%);border-color:var(--accent-gold)}.passkeys-section[data-v-8e84423f]{border-top-color:#333}.passkeys-section li[data-v-8e84423f]{background:#2a2a2a;color:#e0e0e0}.passkeys-section>div>button[data-v-8e84423f]{background:#440d0f}.passkeys-section>div>button[data-v-8e84423f]:hover{background:#7c3aed}.change-wrap[data-v-8e84423f],.twofactor-setup[data-v-8e84423f]{border-top-color:#333}.close-row button[data-v-8e84423f]{background:#4a5568;color:#e0e0e0}.close-row button[data-v-8e84423f]:hover{background:#374151}.setting-label[data-v-8e84423f]{color:#e0e0e0}.setting-input[data-v-8e84423f]{background:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}.setting-input[data-v-8e84423f]:focus{background:#2a2a2a;border-color:#440d0f}.setting-hint[data-v-8e84423f]{color:#aaa}.checkbox-label[data-v-8e84423f]{color:#e0e0e0}.loading-message[data-v-8e84423f]{color:#aaa}.save-button[data-v-8e84423f]{background:#440d0f}.save-button[data-v-8e84423f]:hover:not(:disabled){background:#7c3aed}.message.success[data-v-8e84423f]{background:#f0fdf4;color:#16a34a;border-color:#22c55e}.message.error[data-v-8e84423f]{background:#fef2f2;color:#dc2626;border-color:#ef4444}.leaderboard-settings-section[data-v-8e84423f]{border-top-color:#333}.close-btn[data-v-8e84423f]{background:#2a2a2a;border-color:#444;color:#888}.close-btn[data-v-8e84423f]:hover{background:#333;color:#ccc}.play-notes-section[data-v-8e84423f]{border-top-color:#333}.modal-content[data-v-8e84423f]{background:linear-gradient(135deg,#2d1f1af2,#4a3933e6),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);border-color:var(--accent-bronze);box-shadow:inset 0 1px #ffffff1a,inset 0 -2px 5px #0000004d,0 15px 40px #00000080,0 0 30px #d4af371a}.modal-header[data-v-8e84423f]{border-bottom-color:var(--accent-bronze)}.modal-header h2[data-v-8e84423f]{color:var(--accent-gold);text-shadow:2px 2px 4px var(--accent-shadow)}.modal-close-btn[data-v-8e84423f]{background:#2a2a2a;border-color:#444;color:#888}.modal-close-btn[data-v-8e84423f]:hover{background:#333;color:#ccc}.modal-body[data-v-8e84423f]{color:var(--text-light)}.modal-body h3[data-v-8e84423f]{color:var(--accent-gold)}.accordion-section[data-v-8e84423f]{border-top-color:#333}.accordion-header[data-v-8e84423f]{background:#4a393380;border-color:var(--accent-bronze);color:var(--accent-gold)}.accordion-header[data-v-8e84423f]:hover{background:#4a3933cc;border-color:var(--accent-gold)}.accordion-icon[data-v-8e84423f]{color:var(--accent-gold)}.accordion-content[data-v-8e84423f]{background:#2d1f1a4d}.accordion-content ul[data-v-8e84423f]{margin:.75rem 0}.accordion-content li[data-v-8e84423f]{background:#2a2a2a;color:#e0e0e0;border-color:#333}.accordion-content li button[data-v-8e84423f]{background:#ef4444}.accordion-content li button[data-v-8e84423f]:hover{background:#dc2626}.accordion-content>div>button[data-v-8e84423f]{background:#440d0f;color:#fff}.accordion-content>div>button[data-v-8e84423f]:hover{background:#7c3aed}}.leaderboard-container[data-v-2f016cd3]{width:100%;max-width:500px;background:transparent;border-radius:8px;padding:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;margin:0 auto}.leaderboard-container.compact[data-v-2f016cd3]{padding:12px;box-shadow:0 1px 4px #00000014}.leaderboard-header[data-v-2f016cd3]{margin-bottom:12px;padding:16px;border-radius:8px;box-shadow:0 1px 3px #0000000f}.leaderboard-header h2[data-v-2f016cd3]{margin:0;font-size:20px;color:var(--text-color, #333)}.leaderboard-container.compact .leaderboard-header h2[data-v-2f016cd3]{font-size:16px;margin-bottom:8px}.leaderboard-section[data-v-2f016cd3]{background:var(--section-bg, #ffffff);border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000f}.leaderboard-section[data-v-2f016cd3]:last-child{margin-bottom:0}.section-header[data-v-2f016cd3]{margin-bottom:16px;margin-top:0;padding-bottom:12px;border-bottom:2px solid var(--border-color, #ddd)}.section-header h3[data-v-2f016cd3]{margin:0;font-size:18px;color:var(--text-color, #333);font-weight:600}.leaderboard-container.compact .section-header h3[data-v-2f016cd3]{font-size:14px}.filter-section[data-v-2f016cd3]{margin-bottom:20px}.filter-buttons[data-v-2f016cd3]{display:flex;gap:8px;flex-wrap:wrap}.filter-btn[data-v-2f016cd3]{padding:8px 16px;border:2px solid var(--border-color, #ddd);background:var(--bg-color, #ffffff);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;color:var(--text-color, #333)}.filter-btn[data-v-2f016cd3]:hover{border-color:var(--primary-color, #440D0F);background:var(--hover-bg, #f5f5f5)}.filter-btn.active[data-v-2f016cd3]{background:var(--primary-color, #440D0F);border-color:var(--primary-color, #440D0F);color:#fff}.loading-state[data-v-2f016cd3],.error-state[data-v-2f016cd3],.empty-state[data-v-2f016cd3]{text-align:center;padding:40px 20px;color:var(--text-muted, #666)}.error-state[data-v-2f016cd3]{color:var(--error-color, #d32f2f)}.error-state p[data-v-2f016cd3]{margin:0 0 16px}.retry-btn[data-v-2f016cd3]{padding:8px 16px;background:var(--primary-color, #440D0F);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.retry-btn[data-v-2f016cd3]:hover{opacity:.9}.leaderboard-table-wrapper[data-v-2f016cd3]{overflow-x:auto;margin-bottom:20px}.leaderboard-table[data-v-2f016cd3]{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.leaderboard-table thead[data-v-2f016cd3]{background:var(--header-bg, #f5f5f5);border-bottom:2px solid var(--border-color, #ddd)}.leaderboard-table th[data-v-2f016cd3]{padding:8px 6px;text-align:left;font-weight:600;color:var(--text-color, #333);white-space:nowrap;font-size:12px}.leaderboard-table td[data-v-2f016cd3]{padding:8px 6px;border-bottom:1px solid var(--border-color, #eee);color:var(--text-color, #333)}.leaderboard-row[data-v-2f016cd3]:hover{background:var(--row-hover-bg, #f9f9f9)}.leaderboard-row.current-user[data-v-2f016cd3]{background:var(--current-user-bg, #e3f2fd);font-weight:500}.leaderboard-row.current-user[data-v-2f016cd3]:hover{background:var(--current-user-hover-bg, #bbdefb)}.col-rank[data-v-2f016cd3]{width:50px;text-align:center;padding-left:4px!important;padding-right:4px!important}.col-player[data-v-2f016cd3]{width:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-points[data-v-2f016cd3]{width:auto;text-align:left;padding-left:4px!important;padding-right:4px!important}.col-duration[data-v-2f016cd3]{width:65px;text-align:left;padding-left:4px!important;padding-right:4px!important}.col-actions[data-v-2f016cd3]{width:50px;text-align:center;padding-left:4px!important;padding-right:4px!important}.details-btn[data-v-2f016cd3]{background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;line-height:1;display:flex;align-items:center;justify-content:center}.details-btn[data-v-2f016cd3]:hover{background:#440d0f1a}.info-icon[data-v-2f016cd3]{font-size:18px;font-weight:700;color:#440d0f;transition:color .2s ease}.details-btn:hover .info-icon[data-v-2f016cd3]{color:#84596b}.modal-overlay[data-v-2f016cd3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-2f016cd3]{background:var(--bg-color, #ffffff);border-radius:12px;box-shadow:0 4px 20px #0000004d;max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.modal-header[data-v-2f016cd3]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color, #eee)}.modal-header h3[data-v-2f016cd3]{margin:0;font-size:20px;color:var(--text-color, #333)}.modal-close[data-v-2f016cd3]{background:transparent;border:none;font-size:32px;cursor:pointer;color:var(--text-muted, #666);line-height:1;padding:0;width:32px;height:32px;border-radius:4px;transition:background .2s ease}.modal-close[data-v-2f016cd3]:hover{background:var(--hover-bg, rgba(0, 0, 0, .05));color:var(--text-color, #333)}.modal-body[data-v-2f016cd3]{padding:20px}.detail-row[data-v-2f016cd3]{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-color, #eee)}.detail-row[data-v-2f016cd3]:last-child{border-bottom:none}.detail-label[data-v-2f016cd3]{font-weight:600;color:var(--text-muted, #666);flex-shrink:0;margin-right:16px}.detail-value[data-v-2f016cd3]{color:var(--text-color, #333);text-align:right;flex-grow:1}.pagination-section[data-v-2f016cd3]{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border-color, #eee);flex-wrap:wrap;gap:12px}.pagination-info[data-v-2f016cd3]{font-size:13px;color:var(--text-muted, #666)}.pagination-buttons[data-v-2f016cd3]{display:flex;gap:8px}.pagination-btn[data-v-2f016cd3]{padding:8px 16px;background:var(--primary-color, #440D0F);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:opacity .2s ease}.pagination-btn[data-v-2f016cd3]:hover:not(:disabled){opacity:.9}.pagination-btn[data-v-2f016cd3]:disabled{opacity:.5;cursor:not-allowed}@media(prefers-color-scheme:dark){.leaderboard-container[data-v-2f016cd3]{background:var(--bg-color, #1a1a1a)}.leaderboard-header[data-v-2f016cd3]{background:var(--header-bg, #2d2d2d)}.leaderboard-header h2[data-v-2f016cd3]{color:var(--text-color, #e0e0e0)}.leaderboard-section[data-v-2f016cd3]{background:var(--section-bg, #2d2d2d)}.section-header[data-v-2f016cd3]{border-bottom-color:var(--border-color, #444)}.section-header h3[data-v-2f016cd3]{color:var(--text-color, #e0e0e0)}.filter-btn[data-v-2f016cd3]{background:var(--bg-color, #2d2d2d);border-color:var(--border-color, #444);color:var(--text-color, #e0e0e0)}.filter-btn[data-v-2f016cd3]:hover{background:var(--hover-bg, #3a3a3a)}.leaderboard-table thead[data-v-2f016cd3]{background:var(--header-bg, #2d2d2d);border-bottom-color:var(--border-color, #444)}.leaderboard-table th[data-v-2f016cd3],.leaderboard-table td[data-v-2f016cd3]{color:var(--text-color, #e0e0e0)}.leaderboard-table td[data-v-2f016cd3]{border-bottom-color:var(--border-color, #333)}.leaderboard-row[data-v-2f016cd3]:hover{background:var(--row-hover-bg, #2a2a2a)}.leaderboard-row.current-user[data-v-2f016cd3]{background:var(--current-user-bg, #1a3a52)}.leaderboard-row.current-user[data-v-2f016cd3]:hover{background:var(--current-user-hover-bg, #1e4d6d)}.details-btn[data-v-2f016cd3]:hover{background:var(--hover-bg, rgba(255, 255, 255, .1))}.info-icon[data-v-2f016cd3]{color:#af9bb6}.details-btn:hover .info-icon[data-v-2f016cd3]{color:#84596b}.modal-content[data-v-2f016cd3]{background:var(--bg-color, #2d2d2d)}.modal-header[data-v-2f016cd3]{border-bottom-color:var(--border-color, #444)}.modal-header h3[data-v-2f016cd3]{color:var(--text-color, #e0e0e0)}.modal-close[data-v-2f016cd3]{color:var(--text-muted, #999)}.modal-close[data-v-2f016cd3]:hover{background:var(--hover-bg, rgba(255, 255, 255, .1));color:var(--text-color, #e0e0e0)}.detail-row[data-v-2f016cd3]{border-bottom-color:var(--border-color, #444)}.detail-label[data-v-2f016cd3]{color:var(--text-muted, #999)}.detail-value[data-v-2f016cd3]{color:var(--text-color, #e0e0e0)}.pagination-section[data-v-2f016cd3]{border-top-color:var(--border-color, #333)}}@media(max-width:768px){.leaderboard-container[data-v-2f016cd3]{padding:10px}.leaderboard-header h2[data-v-2f016cd3]{font-size:18px}.leaderboard-section[data-v-2f016cd3]{margin-bottom:10px;padding:12px}.section-header[data-v-2f016cd3]{margin-bottom:12px;padding-bottom:10px}.section-header h3[data-v-2f016cd3]{font-size:16px}.leaderboard-table[data-v-2f016cd3]{font-size:12px}.leaderboard-table th[data-v-2f016cd3]{padding:6px 4px;font-size:11px}.leaderboard-table td[data-v-2f016cd3]{padding:6px 4px}.col-rank[data-v-2f016cd3]{width:40px}.col-player[data-v-2f016cd3]{max-width:120px}.col-points[data-v-2f016cd3]{width:70px}.col-duration[data-v-2f016cd3]{width:55px}.col-actions[data-v-2f016cd3]{width:45px}.pagination-section[data-v-2f016cd3]{flex-direction:column;align-items:stretch;padding-top:12px}.pagination-buttons[data-v-2f016cd3]{width:100%}.pagination-btn[data-v-2f016cd3]{flex:1}}@media(max-width:480px){.leaderboard-container[data-v-2f016cd3]{padding:8px;border-radius:6px}.leaderboard-header[data-v-2f016cd3]{margin-bottom:12px}.leaderboard-header h2[data-v-2f016cd3]{font-size:16px}.leaderboard-section[data-v-2f016cd3]{margin-bottom:10px;padding:10px}.section-header[data-v-2f016cd3]{margin-bottom:12px;padding-bottom:10px}.section-header h3[data-v-2f016cd3]{font-size:14px}.leaderboard-table[data-v-2f016cd3]{font-size:11px}.leaderboard-table th[data-v-2f016cd3]{padding:5px 3px;font-size:10px}.leaderboard-table td[data-v-2f016cd3]{padding:5px 3px}.col-rank[data-v-2f016cd3]{width:35px}.col-player[data-v-2f016cd3]{max-width:100px}.col-points[data-v-2f016cd3]{width:60px}.col-duration[data-v-2f016cd3]{width:50px}.col-actions[data-v-2f016cd3]{width:40px}.details-btn[data-v-2f016cd3]{font-size:14px;padding:1px 2px}.filter-btn[data-v-2f016cd3]{padding:6px 10px;font-size:11px}.filter-section[data-v-2f016cd3]{margin-bottom:12px}.pagination-info[data-v-2f016cd3]{font-size:11px}.pagination-btn[data-v-2f016cd3]{padding:6px 10px;font-size:11px}.modal-overlay[data-v-2f016cd3]{padding:10px}.modal-content[data-v-2f016cd3]{max-height:90vh}.modal-header[data-v-2f016cd3],.modal-body[data-v-2f016cd3]{padding:16px}.modal-header h3[data-v-2f016cd3]{font-size:18px}.detail-row[data-v-2f016cd3]{padding:10px 0;flex-direction:column;gap:4px}.detail-label[data-v-2f016cd3],.detail-value[data-v-2f016cd3]{text-align:left}}[data-v-cfc15e0d]:root{--chart-line-color: #ff9f9f;--chart-point-color: #ff9f9f}@media(prefers-color-scheme:dark){[data-v-cfc15e0d]:root{--chart-line-color: #AF9BB6;--chart-point-color: #AF9BB6}}.modal-overlay[data-v-cfc15e0d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-cfc15e0d .2s ease}@keyframes fadeIn-cfc15e0d{0%{opacity:0}to{opacity:1}}.modal-content[data-v-cfc15e0d]{background:#fff;border-radius:20px;padding:2rem;max-width:800px;max-height:85vh;overflow-y:auto;width:90vw;box-shadow:0 20px 60px #0000004d;animation:slideUp-cfc15e0d .3s ease}@keyframes slideUp-cfc15e0d{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-modal[data-v-cfc15e0d]{max-width:900px;width:95vw}.modal-header[data-v-cfc15e0d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.modal-header h3[data-v-cfc15e0d]{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#440d0f,#84596b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn[data-v-cfc15e0d]{background:#f7fafc!important;border:2px solid #e2e8f0!important;font-size:1.5rem;cursor:pointer;padding:0!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px!important;color:#718096;transition:all .3s ease!important}.close-btn[data-v-cfc15e0d]:hover{background:#edf2f7!important;color:#2d3748;transform:rotate(90deg)}.stats-controls[data-v-cfc15e0d]{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.time-range-selector[data-v-cfc15e0d]{display:flex;gap:10px;justify-content:center}.filter-selector[data-v-cfc15e0d]{display:flex;align-items:center;justify-content:center;gap:10px}.filter-selector label[data-v-cfc15e0d]{font-size:14px;font-weight:600;color:#333}.filter-dropdown[data-v-cfc15e0d]{padding:8px 16px;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.filter-dropdown[data-v-cfc15e0d]:hover{border-color:#440d0f}.filter-dropdown[data-v-cfc15e0d]:focus{outline:none;border-color:#440d0f;box-shadow:0 0 0 3px #440d0f1a}.range-btn[data-v-cfc15e0d]{padding:8px 20px;border:2px solid #ddd;background:#f9f9f9;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.range-btn[data-v-cfc15e0d]:hover{background:#e5e5e5;border-color:#440d0f}.range-btn.active[data-v-cfc15e0d]{background:#440d0f;color:#fff;border-color:#440d0f}.date-navigator[data-v-cfc15e0d]{display:flex;align-items:center;justify-content:center;gap:15px}.nav-btn[data-v-cfc15e0d]{padding:8px 16px;border:1px solid #ddd;background:#f9f9f9;border-radius:6px;cursor:pointer;font-size:18px;transition:all .2s}.nav-btn[data-v-cfc15e0d]:hover{background:#e5e5e5}.date-label[data-v-cfc15e0d]{min-width:200px;text-align:center;font-weight:600;font-size:16px}.today-btn[data-v-cfc15e0d]{padding:8px 16px;border:1px solid #440D0F;background:#440d0f;color:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.today-btn[data-v-cfc15e0d]:hover{background:#603a40;border-color:#603a40}.view-toggle[data-v-cfc15e0d]{display:flex;gap:10px;justify-content:center;margin-top:15px}.view-toggle button[data-v-cfc15e0d]{padding:8px 20px;border:2px solid #ddd;background:#f9f9f9;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.view-toggle button[data-v-cfc15e0d]:hover{background:#e5e5e5;border-color:#440d0f}.view-toggle button.active[data-v-cfc15e0d]{background:#440d0f;color:#fff;border-color:#440d0f}.chart-container[data-v-cfc15e0d]{margin-top:20px}.line-chart[data-v-cfc15e0d]{width:100%;height:auto;max-height:400px}.no-data-message[data-v-cfc15e0d]{text-align:center;padding:60px 20px;color:#999;font-size:16px}.chart-legend[data-v-cfc15e0d]{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px;padding-top:15px;border-top:1px solid #eee;justify-content:center}.legend-item[data-v-cfc15e0d]{display:flex;align-items:center;gap:8px;font-size:13px}.legend-color[data-v-cfc15e0d]{width:20px;height:20px;border-radius:3px}.legend-label[data-v-cfc15e0d]{color:#333}.rank-list-container[data-v-cfc15e0d]{margin-top:20px}.rank-list[data-v-cfc15e0d]{list-style:none;padding:0;margin:0}.rank-item[data-v-cfc15e0d]{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #eee;background:#f9f9f9;transition:background-color .2s}.rank-item[data-v-cfc15e0d]:hover{background:#f0f0f0}.rank-item[data-v-cfc15e0d]:last-child{border-bottom:none}.rank-number[data-v-cfc15e0d]{font-weight:700;color:#440d0f;margin-right:12px;min-width:30px}.rank-name[data-v-cfc15e0d]{flex:1;font-weight:500;color:#333}.rank-score[data-v-cfc15e0d]{font-weight:600;color:#440d0f;background:#e8f5e9;padding:4px 8px;border-radius:4px;font-size:.9em}.test-list-container[data-v-cfc15e0d]{margin-top:20px}.test-list-scroll[data-v-cfc15e0d]{max-height:500px;overflow-y:auto;border:1px solid #eee;border-radius:8px}.test-list-table[data-v-cfc15e0d]{width:100%;border-collapse:collapse;font-size:.9em}.test-list-table thead[data-v-cfc15e0d]{position:sticky;top:0;background:linear-gradient(135deg,#440d0f,#84596b);color:#fff;z-index:10}.test-list-table th[data-v-cfc15e0d]{padding:12px 8px;text-align:left;font-weight:600;font-size:.85em;text-transform:uppercase;letter-spacing:.5px}.test-list-table tbody tr[data-v-cfc15e0d]{border-bottom:1px solid #eee;background:#fff;transition:background-color .2s}.test-list-table tbody tr[data-v-cfc15e0d]:hover{background:#f9f9f9}.test-list-table tbody tr[data-v-cfc15e0d]:last-child{border-bottom:none}.test-list-table td[data-v-cfc15e0d]{padding:10px 8px}.test-datetime[data-v-cfc15e0d]{color:#666;font-size:.85em;white-space:nowrap}.test-points[data-v-cfc15e0d]{font-weight:600;color:#440d0f}.test-duration[data-v-cfc15e0d],.test-speed[data-v-cfc15e0d]{color:#555}.test-accuracy[data-v-cfc15e0d]{font-weight:600;color:#16a34a}.points-graph-container[data-v-cfc15e0d]{margin-top:20px}@media(max-width:768px){.stats-modal[data-v-cfc15e0d]{max-width:100%;width:100vw;max-height:95vh}.stats-controls[data-v-cfc15e0d]{gap:12px}.time-range-selector[data-v-cfc15e0d]{flex-wrap:wrap;gap:6px}.range-btn[data-v-cfc15e0d]{padding:6px 12px;font-size:12px;flex:1;min-width:60px}.filter-selector[data-v-cfc15e0d]{flex-direction:column;gap:6px;align-items:stretch}.filter-selector label[data-v-cfc15e0d]{text-align:center;font-size:13px}.filter-dropdown[data-v-cfc15e0d]{width:100%;padding:8px 12px;font-size:13px}.date-navigator[data-v-cfc15e0d]{flex-wrap:wrap;gap:8px}.nav-btn[data-v-cfc15e0d]{padding:6px 12px;font-size:16px}.date-label[data-v-cfc15e0d]{min-width:100%;font-size:13px;order:-1}.view-toggle[data-v-cfc15e0d]{flex-wrap:wrap;gap:6px;margin-top:10px}.view-toggle button[data-v-cfc15e0d]{flex:1;min-width:120px;padding:6px 12px;font-size:12px}.today-btn[data-v-cfc15e0d]{padding:6px 12px;font-size:13px}.chart-container[data-v-cfc15e0d]{margin-top:15px}.line-chart[data-v-cfc15e0d]{max-height:300px}.chart-legend[data-v-cfc15e0d]{gap:10px}.legend-item[data-v-cfc15e0d]{font-size:11px}.legend-color[data-v-cfc15e0d]{width:16px;height:16px}.no-data-message[data-v-cfc15e0d]{padding:40px 15px;font-size:14px}}@media(max-width:480px){.stats-modal[data-v-cfc15e0d]{padding:15px}.modal-header h3[data-v-cfc15e0d]{font-size:18px}.range-btn[data-v-cfc15e0d]{padding:5px 8px;font-size:11px;min-width:50px}.date-label[data-v-cfc15e0d]{font-size:12px}.nav-btn[data-v-cfc15e0d],.today-btn[data-v-cfc15e0d]{padding:5px 10px;font-size:12px}.line-chart[data-v-cfc15e0d]{max-height:250px}.legend-item[data-v-cfc15e0d]{font-size:10px}.legend-color[data-v-cfc15e0d]{width:14px;height:14px}}@media(prefers-color-scheme:dark){.modal-content[data-v-cfc15e0d]{background:#1f1f1f;color:#f0f0f0;border:1px solid #333}.modal-header[data-v-cfc15e0d]{border-bottom:1px solid #333}.modal-header h3[data-v-cfc15e0d]{color:#f0f0f0;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.close-btn[data-v-cfc15e0d]{background:#2a2a2a!important;border-color:#3a3a3a!important;color:#f0f0f0}.close-btn[data-v-cfc15e0d]:hover{background:#333!important}.range-btn[data-v-cfc15e0d]{background:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}.range-btn[data-v-cfc15e0d]:hover{background:#333;border-color:#440d0f}.range-btn.active[data-v-cfc15e0d]{background:#440d0f;border-color:#440d0f}.filter-selector label[data-v-cfc15e0d]{color:#e0e0e0}.filter-dropdown[data-v-cfc15e0d]{background:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}.filter-dropdown[data-v-cfc15e0d]:hover{border-color:#440d0f}.filter-dropdown[data-v-cfc15e0d]:focus{border-color:#440d0f;box-shadow:0 0 0 3px #2b6cb033}.nav-btn[data-v-cfc15e0d]{background:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}.nav-btn[data-v-cfc15e0d]:hover{background:#333}.date-label[data-v-cfc15e0d]{color:#f0f0f0}.today-btn[data-v-cfc15e0d]{background:#440d0f;border-color:#440d0f}.today-btn[data-v-cfc15e0d]:hover{background:#603a40;border-color:#603a40}.view-toggle button[data-v-cfc15e0d]{background:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}.view-toggle button[data-v-cfc15e0d]:hover{background:#333;border-color:#440d0f}.view-toggle button.active[data-v-cfc15e0d]{background:#440d0f;border-color:#440d0f}.no-data-message[data-v-cfc15e0d]{color:#777}.legend-label[data-v-cfc15e0d]{color:#e0e0e0}.chart-legend[data-v-cfc15e0d]{border-top-color:#333}.line-chart .grid line[data-v-cfc15e0d]{stroke:#3a3a3a}.line-chart .y-axis text[data-v-cfc15e0d],.line-chart .x-axis text[data-v-cfc15e0d]{fill:#aaa}.line-chart rect[data-v-cfc15e0d]{stroke:#666}.rank-item[data-v-cfc15e0d]{background:#2a2a2a;border-bottom-color:#333}.rank-item[data-v-cfc15e0d]:hover{background:#333}.rank-number[data-v-cfc15e0d]{color:#af9bb6}.rank-name[data-v-cfc15e0d]{color:#e0e0e0}.rank-score[data-v-cfc15e0d]{background:#1b3a1e;color:#81c784}.test-list-scroll[data-v-cfc15e0d]{border-color:#333}.test-list-table thead[data-v-cfc15e0d]{background:linear-gradient(135deg,#440d0f,#84596b)}.test-list-table tbody tr[data-v-cfc15e0d]{background:#2a2a2a;border-bottom-color:#333}.test-list-table tbody tr[data-v-cfc15e0d]:hover{background:#333}.test-datetime[data-v-cfc15e0d]{color:#999}.test-points[data-v-cfc15e0d]{color:#af9bb6}.test-duration[data-v-cfc15e0d],.test-speed[data-v-cfc15e0d]{color:#aaa}.test-accuracy[data-v-cfc15e0d]{color:#81c784}}.modal-overlay[data-v-7cbdaf0e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-7cbdaf0e .2s ease}@keyframes fadeIn-7cbdaf0e{0%{opacity:0}to{opacity:1}}.modal-content[data-v-7cbdaf0e]{background:#fff;border-radius:20px;padding:2rem;max-width:800px;max-height:85vh;overflow-y:auto;width:90vw;box-shadow:0 20px 60px #0000004d;animation:slideUp-7cbdaf0e .3s ease}@keyframes slideUp-7cbdaf0e{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-7cbdaf0e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.modal-header h3[data-v-7cbdaf0e]{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#440d0f,#84596b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-buttons[data-v-7cbdaf0e]{display:flex;align-items:center;gap:.75rem}.close-btn[data-v-7cbdaf0e]{background:#f7fafc!important;border:2px solid #e2e8f0!important;font-size:1.5rem;cursor:pointer;padding:0!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px!important;color:#718096;transition:all .3s ease!important}.close-btn[data-v-7cbdaf0e]:hover{background:#edf2f7!important;color:#2d3748;transform:rotate(90deg)}.bulk-actions[data-v-7cbdaf0e]{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.action-group[data-v-7cbdaf0e]{display:flex;flex-direction:column;gap:8px}.action-group h5[data-v-7cbdaf0e]{margin:0;font-size:14px;color:#666;text-align:center}.bulk-actions button[data-v-7cbdaf0e]{padding:8px 16px;border:1px solid #ccc;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.bulk-actions button[data-v-7cbdaf0e]:hover{background:#e5e5e5}.deselect-btn[data-v-7cbdaf0e]{background:#ffe6e6!important;border-color:#fcc!important}.deselect-btn[data-v-7cbdaf0e]:hover{background:#fcc!important}.scale-selection[data-v-7cbdaf0e],.scale-category[data-v-7cbdaf0e]{margin-bottom:20px}.scale-category h4[data-v-7cbdaf0e]{margin:0 0 10px;color:#333;border-bottom:1px solid #ddd;padding-bottom:5px}.scale-grid[data-v-7cbdaf0e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.scale-checkbox[data-v-7cbdaf0e]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.scale-checkbox[data-v-7cbdaf0e]:hover{background:#f9f9f9}.scale-checkbox input[type=checkbox][data-v-7cbdaf0e]{margin:0}.modal-footer[data-v-7cbdaf0e]{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.apply-btn[data-v-7cbdaf0e]{padding:.75rem 1.5rem!important;background:linear-gradient(135deg,#440d0f,#84596b)!important;color:#fff!important;border:none!important;border-radius:12px!important;cursor:pointer;font-weight:600!important;box-shadow:0 4px 12px #440d0f4d!important;transition:all .3s ease!important}.apply-btn[data-v-7cbdaf0e]:hover{transform:translateY(-1px)!important;box-shadow:0 6px 16px #440d0f66!important}@media(prefers-color-scheme:dark){.modal-content[data-v-7cbdaf0e]{background:#1f1f1f;color:#f0f0f0;border:1px solid #333}.modal-header[data-v-7cbdaf0e]{border-bottom:1px solid #333}.modal-header h3[data-v-7cbdaf0e]{color:#f0f0f0;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.close-btn[data-v-7cbdaf0e]{background:#2a2a2a!important;border-color:#3a3a3a!important;color:#f0f0f0}.close-btn[data-v-7cbdaf0e]:hover{background:#333!important}.scale-category h4[data-v-7cbdaf0e]{color:#e0e0e0;border-bottom:1px solid #333}.scale-checkbox[data-v-7cbdaf0e]{background:#262626;border-color:#3a3a3a;color:#f0f0f0}.scale-checkbox[data-v-7cbdaf0e]:hover{background:#2e2e2e}.bulk-actions button[data-v-7cbdaf0e]{background:#2a2a2a;color:#eee;border-color:#3a3a3a}.bulk-actions button[data-v-7cbdaf0e]:hover{background:#333}.deselect-btn[data-v-7cbdaf0e]{background:#3a1f1f!important;border-color:#5a2a2a!important}.deselect-btn[data-v-7cbdaf0e]:hover{background:#5a2a2a!important}.modal-footer[data-v-7cbdaf0e]{border-top:1px solid #333;color:#ccc}.apply-btn[data-v-7cbdaf0e]{background:#440d0f!important;color:#fff!important}.apply-btn[data-v-7cbdaf0e]:hover{background:#603a40!important}}.modal-overlay[data-v-83d3f6ac]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-83d3f6ac .2s ease}@keyframes fadeIn-83d3f6ac{0%{opacity:0}to{opacity:1}}.modal-content[data-v-83d3f6ac]{background:#fff;border-radius:20px;padding:2rem;max-width:800px;max-height:85vh;overflow-y:auto;width:90vw;box-shadow:0 20px 60px #0000004d;animation:slideUp-83d3f6ac .3s ease}@keyframes slideUp-83d3f6ac{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-83d3f6ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.modal-header h3[data-v-83d3f6ac]{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#440d0f,#84596b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-buttons[data-v-83d3f6ac]{display:flex;align-items:center;gap:.75rem}.close-btn[data-v-83d3f6ac]{background:#f7fafc!important;border:2px solid #e2e8f0!important;font-size:1.5rem;cursor:pointer;padding:0!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px!important;color:#718096;transition:all .3s ease!important}.close-btn[data-v-83d3f6ac]:hover{background:#edf2f7!important;color:#2d3748;transform:rotate(90deg)}.bulk-actions[data-v-83d3f6ac]{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.action-group[data-v-83d3f6ac]{display:flex;flex-direction:column;gap:8px}.action-group h5[data-v-83d3f6ac]{margin:0;font-size:14px;color:#666;text-align:center}.bulk-actions button[data-v-83d3f6ac]{padding:8px 16px;border:1px solid #ccc;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.bulk-actions button[data-v-83d3f6ac]:hover{background:#e5e5e5}.deselect-btn[data-v-83d3f6ac]{background:#ffe6e6!important;border-color:#fcc!important}.deselect-btn[data-v-83d3f6ac]:hover{background:#fcc!important}.scale-selection[data-v-83d3f6ac],.scale-category[data-v-83d3f6ac]{margin-bottom:20px}.scale-category h4[data-v-83d3f6ac]{margin:0 0 10px;color:#333;border-bottom:1px solid #ddd;padding-bottom:5px}.scale-grid[data-v-83d3f6ac]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.scale-checkbox[data-v-83d3f6ac]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.scale-checkbox[data-v-83d3f6ac]:hover{background:#f9f9f9}.scale-checkbox input[type=checkbox][data-v-83d3f6ac]{margin:0}.modal-footer[data-v-83d3f6ac]{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.apply-btn[data-v-83d3f6ac]{padding:.75rem 1.5rem!important;background:linear-gradient(135deg,#440d0f,#84596b)!important;color:#fff!important;border:none!important;border-radius:12px!important;cursor:pointer;font-weight:600!important;box-shadow:0 4px 12px #440d0f4d!important;transition:all .3s ease!important}.apply-btn[data-v-83d3f6ac]:hover{transform:translateY(-1px)!important;box-shadow:0 6px 16px #440d0f66!important}@media(prefers-color-scheme:dark){.modal-content[data-v-83d3f6ac]{background:#1f1f1f;color:#f0f0f0;border:1px solid #333}.modal-header[data-v-83d3f6ac]{border-bottom:1px solid #333}.modal-header h3[data-v-83d3f6ac]{color:#f0f0f0;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.close-btn[data-v-83d3f6ac]{background:#2a2a2a!important;border-color:#3a3a3a!important;color:#f0f0f0}.close-btn[data-v-83d3f6ac]:hover{background:#333!important}.scale-category h4[data-v-83d3f6ac]{color:#e0e0e0;border-bottom:1px solid #333}.scale-checkbox[data-v-83d3f6ac]{background:#262626;border-color:#3a3a3a;color:#f0f0f0}.scale-checkbox[data-v-83d3f6ac]:hover{background:#2e2e2e}.bulk-actions button[data-v-83d3f6ac]{background:#2a2a2a;color:#eee;border-color:#3a3a3a}.bulk-actions button[data-v-83d3f6ac]:hover{background:#333}.deselect-btn[data-v-83d3f6ac]{background:#3a1f1f!important;border-color:#5a2a2a!important}.deselect-btn[data-v-83d3f6ac]:hover{background:#5a2a2a!important}.modal-footer[data-v-83d3f6ac]{border-top:1px solid #333;color:#ccc}.apply-btn[data-v-83d3f6ac]{background:#440d0f!important;color:#fff!important}.apply-btn[data-v-83d3f6ac]:hover{background:#603a40!important}}.modal-overlay[data-v-e219560a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-e219560a .2s ease}@keyframes fadeIn-e219560a{0%{opacity:0}to{opacity:1}}.modal-content[data-v-e219560a]{background:#fff;border-radius:20px;padding:2rem;max-width:500px;width:90vw;box-shadow:0 20px 60px #0000004d;animation:slideUp-e219560a .3s ease}@keyframes slideUp-e219560a{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-e219560a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.modal-header h3[data-v-e219560a]{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#440d0f,#84596b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn[data-v-e219560a]{background:#f7fafc!important;border:2px solid #e2e8f0!important;font-size:1.5rem;cursor:pointer;padding:0!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px!important;color:#718096;transition:all .3s ease!important}.close-btn[data-v-e219560a]:hover{background:#edf2f7!important;color:#2d3748}.duration-options[data-v-e219560a]{display:flex;flex-direction:column;gap:12px;margin:24px 0}.duration-btn[data-v-e219560a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:2px solid #bbb;background:linear-gradient(135deg,#d8d8d8,#c8c8c8);border-radius:12px;cursor:pointer;transition:all .3s ease;gap:8px}.duration-btn[data-v-e219560a]:hover{border-color:#440d0f;background:linear-gradient(135deg,#440d0f,#84596b);transform:translateY(-2px);box-shadow:0 8px 20px #440d0f4d}.duration-btn:hover .duration-value[data-v-e219560a],.duration-btn:hover .duration-desc[data-v-e219560a]{color:#fff}.duration-value[data-v-e219560a]{font-size:1.25rem;font-weight:600;color:#fff!important;transition:color .3s ease}.duration-desc[data-v-e219560a]{font-size:.85rem;color:#555!important;transition:color .3s ease}.duration-info[data-v-e219560a]{background:#f5f0f0;border-left:4px solid #440D0F;padding:12px;border-radius:4px;font-size:.9rem;color:#333;margin-top:20px}.duration-info p[data-v-e219560a]{margin:0}@media(prefers-color-scheme:dark){.modal-content[data-v-e219560a]{background:#1f1f1f;color:#f0f0f0;border:1px solid #333}.modal-header[data-v-e219560a]{border-bottom:1px solid #333}.modal-header h3[data-v-e219560a]{color:#f0f0f0;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.close-btn[data-v-e219560a]{background:#2a2a2a!important;border-color:#3a3a3a!important;color:#f0f0f0}.close-btn[data-v-e219560a]:hover{background:#333!important}.duration-btn[data-v-e219560a]{background:linear-gradient(135deg,#2a2420,#1f1a17);border-color:#3a3330}.duration-btn[data-v-e219560a]:hover{border-color:#440d0f;background:linear-gradient(135deg,#440d0f,#84596b)}.duration-btn .duration-value[data-v-e219560a],.duration-btn .duration-desc[data-v-e219560a]{color:#440d0f}.duration-btn:hover .duration-value[data-v-e219560a],.duration-btn:hover .duration-desc[data-v-e219560a]{color:#fff}.duration-info[data-v-e219560a]{background:#2a2a2a;border-left:4px solid #AF9BB6;color:#d4d4d4}}@media(max-width:480px){.modal-content[data-v-e219560a]{padding:1.5rem}.modal-header h3[data-v-e219560a]{font-size:1.25rem}.duration-btn[data-v-e219560a]{padding:16px}.duration-value[data-v-e219560a]{font-size:1.1rem}}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}#app{width:100%;min-height:100%}body.overlay-active{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important}.completion-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;min-width:100vw!important;min-height:100vh!important;margin:0!important;padding:0!important;background:#0009!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:2147483647!important;animation:fadeIn .3s ease;pointer-events:all!important;cursor:default!important;overflow:hidden!important}@keyframes fadeIn-80fed75b{0%{opacity:0}to{opacity:1}}.completion-content[data-v-80fed75b]{background:linear-gradient(135deg,#e8dcc4f2,#a89968e6),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);border-radius:0;border:4px solid #8b6f47;padding:3rem 2rem;max-width:400px;width:90vw;text-align:center;box-shadow:inset 0 1px #ffffff4d,inset 0 -2px 5px #00000026,0 30px 60px #00000080,0 0 40px #d4af3733;animation:popIn-80fed75b .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none;position:relative}.completion-content[data-v-80fed75b]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #d4af37;pointer-events:none;margin:3px;opacity:.4}@keyframes popIn-80fed75b{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.completion-animation[data-v-80fed75b]{display:flex;justify-content:center;margin-bottom:1.5rem}.checkmark[data-v-80fed75b]{width:80px;height:80px;position:relative}.checkmark-svg[data-v-80fed75b]{width:100%;height:100%;color:#440d0f;animation:checkmarkAnimation-80fed75b .6s ease}@keyframes checkmarkAnimation-80fed75b{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.completion-title[data-v-80fed75b]{font-family:Crimson Pro,serif;margin:0 0 1rem;font-size:1.76rem;font-weight:700;color:#d4af37;text-shadow:2px 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.completion-stats[data-v-80fed75b]{background:linear-gradient(135deg,#e8dcc499,#a8996880),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 4px);padding:1.5rem;border-radius:0;margin:1.5rem 0;border:2px solid #8b6f47;box-shadow:inset 0 1px #fff3,0 4px 10px #0003}.score-display[data-v-80fed75b]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-value[data-v-80fed75b]{font-family:Crimson Pro,serif;font-size:2.24rem;font-weight:900;color:#d4af37;text-shadow:2px 2px 4px rgba(0,0,0,.3)}@media(prefers-color-scheme:dark){.completion-content[data-v-80fed75b]{background:#1f1f1f;color:#f0f0f0;border:1px solid #333}.completion-title[data-v-80fed75b]{color:#f0f0f0;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.checkmark-svg[data-v-80fed75b]{color:#90ee90}.completion-stats[data-v-80fed75b]{background:linear-gradient(135deg,#2a2420,#3a2a25);border:1px solid #4a3a35}.score-value[data-v-80fed75b]{color:#af9bb6}}@media(max-width:480px){.completion-content[data-v-80fed75b]{padding:2rem 1.5rem}.checkmark[data-v-80fed75b]{width:70px;height:70px}.completion-title[data-v-80fed75b]{font-size:1.2rem}.score-value[data-v-80fed75b]{font-size:1.6rem}}:root{--primary-dark: #f5f1ed;--primary-medium: #e8dcc4;--primary-light: #d4af37;--accent-gold: #8b6f47;--accent-bronze: #a0826d;--accent-crimson: #8b2e2e;--accent-shadow: #5a4a42;--text-light: #2d1f1a;--text-muted: #6b5344;--background-dark: #faf8f5;font-family:IBM Plex Mono,monospace;font-size:16px;line-height:1.7;font-weight:400;color:var(--text-light);background:radial-gradient(ellipse at 20% 50%,rgba(139,46,46,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(212,175,55,.08) 0%,transparent 50%),linear-gradient(135deg,#faf8f5,#f5f1ed,#ede5dd);min-height:100vh;background-attachment:fixed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@media(prefers-color-scheme:dark){:root{--primary-dark: #1a1410;--primary-medium: #2d1f1a;--primary-light: #4a3933;--accent-gold: #d4af37;--accent-bronze: #8b6f47;--accent-crimson: #8b2e2e;--accent-shadow: #0d0a07;--text-light: #e8dcc4;--text-muted: #a89968;--background-dark: #0f0c0a;color:var(--text-light);background:radial-gradient(ellipse at 20% 50%,rgba(139,46,46,.3) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(212,175,55,.1) 0%,transparent 50%),linear-gradient(135deg,#0f0c0a,#1a1410,#2d1f1a)}}.container{margin:0 auto;padding:2rem 1rem;min-height:100vh;display:flex;flex-direction:column}.row{display:flex;justify-content:center}a{font-weight:500;color:#af9bb6;text-decoration:inherit}a:hover{color:#84596b}h1{font-family:Crimson Pro,serif;font-size:3.5rem;font-weight:900;text-align:center;color:#a89968;text-shadow:2px 2px 4px rgba(0,0,0,.15);letter-spacing:2px;margin:0}h2{font-family:Crimson Pro,serif;text-align:center;font-size:2.2rem;font-weight:700;color:#8b6f47;margin:0 0 1.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.08);letter-spacing:1px;border-bottom:2px solid #a0826d;padding-bottom:.75rem}section{background:linear-gradient(135deg,#f5f1ed,#e8dcc4),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:3px solid #a0826d;border-radius:0;padding:2.5rem;margin-bottom:2rem;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 4px #0000001a,0 8px 20px #00000026,0 0 15px #8b6f4733;position:relative;overflow:hidden}section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #8b6f47;pointer-events:none;margin:2px;opacity:.4}.keyboard-section{width:100%;background:linear-gradient(135deg,#f5f1ed,#e8dcc4),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:3px solid #a0826d;border-radius:0;padding:0;margin-bottom:2rem;margin-left:0;margin-right:0;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 4px #0000001a,0 12px 30px #00000026,0 0 20px #8b6f4733;position:relative;overflow:hidden}.keyboard-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #8b6f47;pointer-events:none;margin:2px;opacity:.4}.keyboard-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.keyboard-header h2{margin:0;flex:1;color:#8b6f47;font-family:Crimson Pro,serif;font-size:2.2rem;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.08);letter-spacing:1px}.stop-btn{padding:.75rem 2rem!important;margin-right:2rem;background:linear-gradient(135deg,#8b2e2e,#5a1f1f)!important;color:var(--accent-gold)!important;border:2px solid var(--accent-gold)!important;font-weight:700!important;font-family:Crimson Pro,serif!important;font-size:1.1rem!important;white-space:nowrap;transition:all .3s ease!important;text-shadow:1px 1px 2px var(--accent-shadow);box-shadow:inset 0 1px #fff3,0 8px 15px #0006,0 0 10px #d4af3733}.stop-btn:hover{background:linear-gradient(135deg,#a83333,#6a2424)!important;transform:translateY(-2px)!important;box-shadow:inset 0 1px #fff3,0 12px 20px #00000080,0 0 20px #d4af374d!important}.stats-section{padding:1.5rem}.stats-section .score{width:100%;max-width:100%}.test-header{background:linear-gradient(135deg,#f5f1ed,#e8dcc4),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:0;border:3px solid #a0826d;padding:2rem;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 4px #0000001a,0 8px 20px #00000026,0 0 15px #8b6f4733;display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap;position:relative}.test-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #8b6f47;pointer-events:none;margin:2px;opacity:.4}.test-header.center-only{justify-content:center;flex-direction:column;padding:2rem}.logo-container{width:100%;display:flex;justify-content:center;margin-bottom:1rem}.app-logo{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.score{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;padding:.5rem 0}.score>div{font-size:.95rem;font-weight:700;font-family:IBM Plex Mono,monospace;color:var(--primary-dark);background:linear-gradient(135deg,#e8dcc4b3,#a8996899);padding:.75rem 1.25rem;border-radius:0;border-left:3px solid var(--accent-gold);box-shadow:inset 0 1px #ffffff4d}.controls{display:flex;flex-direction:column;gap:1rem;align-items:flex-end;width:100%}.controls.row-center{flex-direction:column;align-items:center!important;gap:1rem}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.action-btn{min-width:140px;padding:.75em 1.5em!important;font-size:.95em!important;font-weight:600!important;font-family:IBM Plex Mono,monospace!important;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%)!important;color:var(--text-light)!important;border:2px solid var(--accent-bronze)!important;box-shadow:inset 0 1px #ffffff1a,0 5px 15px #0000004d!important;transition:all .3s ease!important;text-shadow:none;letter-spacing:0}.action-btn:hover{transform:translateY(-2px);border-color:var(--accent-gold)!important;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%)!important;box-shadow:inset 0 1px #ffffff26,0 8px 20px #0006,0 0 10px #d4af3726!important}.action-btn:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff1a,0 3px 8px #0003!important}.selection-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.button-with-count{display:flex;flex-direction:column;align-items:center;gap:.5rem}.selection-count{font-size:.75rem;color:#718096;font-weight:600;background:#edf2f7;padding:.25rem .75rem;border-radius:12px}.settings-group{display:flex;align-items:center;gap:.75rem}.toast{position:fixed;left:24px;top:24px;padding:1rem 1.5rem;border-radius:0;color:var(--accent-gold);font-weight:700;font-family:Crimson Pro,serif;font-size:1.1rem;border:2px solid var(--accent-bronze);box-shadow:inset 0 1px #ffffff1a,0 10px 30px #00000080,0 0 15px #d4af3733;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;text-shadow:1px 1px 2px var(--accent-shadow)}.toast.error{background:linear-gradient(135deg,#5a2020,#3a1515);border-color:#8b2e2e}.toast.success{background:linear-gradient(135deg,var(--accent-bronze) 0%,#6b5339 100%);border-color:var(--accent-gold)}.toast.info{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%);border-color:var(--accent-bronze)}input,button{border-radius:0;border:2px solid var(--accent-bronze);padding:.75em 1.5em;font-size:.95em;font-weight:600;font-family:IBM Plex Mono,monospace;color:var(--text-light);background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%);transition:all .3s ease;box-shadow:inset 0 1px #ffffff1a,0 5px 15px #0000004d}button{cursor:pointer}button:hover{border-color:var(--accent-gold);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff26,0 8px 20px #0006,0 0 10px #d4af3726}button:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff1a,0 3px 8px #0003}input,button{outline:none}#greet-input{margin-right:5px}.app-footer{text-align:center;font-family:IBM Plex Mono,monospace;color:var(--text-muted);font-size:.95rem;margin-top:3rem;margin-bottom:1.5rem;padding-top:2rem;border-top:2px solid rgba(139,111,71,.3);text-shadow:1px 1px 2px var(--accent-shadow);font-weight:600}.logo.vite:hover{filter:drop-shadow(0 0 2em #747bff)}.logo.vue:hover{filter:drop-shadow(0 0 2em #249b73)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-overlay:before{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(800px,90vw);height:85vh;border:2px solid #8b6f47;pointer-events:none;opacity:.4;margin:3px;border-radius:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(135deg,#f5f1ed,#e8dcc4),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);border-radius:0;border:4px solid #a0826d;padding:3rem;max-width:800px;max-height:85vh;overflow-y:auto;width:90vw;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 5px #00000014,0 15px 40px #00000026,0 0 30px #8b6f4726;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);position:relative;color:#2d1f1a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.test-duration-modal{max-width:500px;width:85vw}.duration-options{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.duration-btn{padding:1.5rem;border:2px solid var(--accent-bronze)!important;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%)!important;border-radius:0!important;cursor:pointer;transition:all .3s ease!important;text-align:center;box-shadow:inset 0 1px #ffffff1a,0 6px 15px #0000004d!important;color:var(--text-light)!important}.duration-btn:hover{background:linear-gradient(135deg,var(--primary-medium) 0%,var(--primary-dark) 100%)!important;border-color:var(--accent-gold)!important;transform:translateY(-2px)!important;box-shadow:inset 0 1px #ffffff26,0 10px 25px #0006,0 0 15px #d4af3733!important}.duration-time{font-family:Crimson Pro,serif;font-size:1.6rem;font-weight:700;margin-bottom:.5rem;color:var(--accent-gold);text-shadow:1px 1px 2px var(--accent-shadow)}.duration-desc{font-family:IBM Plex Mono,monospace;font-size:.95rem;color:var(--text-muted);font-weight:600}.test-timer{font-family:Crimson Pro,serif;font-weight:900;font-size:1.15rem;color:var(--accent-gold);background:#e8dcc480;padding:.65rem 1.5rem;border-radius:0;border:2px solid var(--accent-bronze);text-shadow:1px 1px 2px var(--accent-shadow);box-shadow:inset 0 1px #fff3}.unauthenticated-container{display:flex;flex-direction:column;gap:40px;padding:20px;max-width:100%}.welcome-view{display:flex;justify-content:center;padding:20px}.welcome-header{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:500px;background:linear-gradient(135deg,#f5f1ed,#e8dcc4),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,111,71,.02) 2px,rgba(139,111,71,.02) 4px);border-radius:0;border:3px solid #a0826d;padding:3rem 2.5rem;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 4px #00000014,0 15px 35px #00000026,0 0 20px #8b6f4726;width:100%;max-width:450px;position:relative}.welcome-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #8b6f47;pointer-events:none;margin:2px;opacity:.4}.welcome-logo{width:120px;height:120px;filter:drop-shadow(0 8px 16px rgba(139,111,71,.3))}.welcome-title{font-family:Crimson Pro,serif;font-size:3rem;font-weight:900;color:var(--text-muted);margin:0;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.1);letter-spacing:2px}.auth-buttons{display:flex;gap:16px;width:100%;max-width:320px}.auth-btn{flex:1;padding:12px 24px;font-size:1.05rem;font-weight:700;font-family:Crimson Pro,serif;border-radius:0;border:2px solid var(--accent-gold);cursor:pointer;transition:all .3s ease;box-shadow:inset 0 1px #ffffff1a,0 6px 16px #0000004d,0 0 10px #d4af3726;text-shadow:1px 1px 2px var(--accent-shadow)}.signin-btn{background:#e8dcc44d;color:var(--accent-gold)}.signin-btn:hover{background:#e8dcc480;transform:translateY(-2px);box-shadow:inset 0 1px #fff3,0 8px 18px #0006,0 0 12px #d4af3733}.signup-btn{background:#e8dcc44d;color:var(--accent-gold)}.signup-btn:hover{background:#e8dcc480;transform:translateY(-2px);box-shadow:inset 0 1px #fff3,0 8px 18px #0006,0 0 12px #d4af3733}.auth-form-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.back-button{align-self:flex-start;background:transparent;border:2px solid var(--accent-bronze);color:var(--text-light);font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:600;cursor:pointer;padding:8px 16px;transition:all .3s ease;border-radius:0;box-shadow:0 4px 10px #0000004d}.back-button:hover{color:var(--accent-gold);border-color:var(--accent-gold);transform:translate(-4px);box-shadow:0 6px 15px #0006}.token-expired-notice{width:100%;padding:12px 16px;background-color:#ffd7d7;border:2px solid #ff6b6b;border-radius:4px;color:#c92a2a;font-weight:500;text-align:center;margin-bottom:10px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.public-leaderboard-section{display:flex;justify-content:center;background:transparent;padding:1rem}.leaderboard-modal{max-width:1000px;max-height:90vh}.rank-list-container{margin-top:20px}.rank-list{list-style:none;padding:0;margin:0}.rank-item{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #eee;background:#f9f9f9;transition:background-color .2s}.rank-item:hover{background:#f0f0f0}.rank-item:last-child{border-bottom:none}.rank-number{font-weight:700;color:#440d0f;margin-right:12px;min-width:30px}.rank-name{flex:1;font-weight:500;color:#333}.rank-score{font-weight:600;color:#440d0f;background:#e8f5e9;padding:4px 8px;border-radius:4px;font-size:.9em}.test-list-container{margin-top:20px}.test-list-scroll{max-height:500px;overflow-y:auto;border:1px solid #eee;border-radius:8px}.test-list-table{width:100%;border-collapse:collapse;font-size:.9em}.test-list-table thead{position:sticky;top:0;background:linear-gradient(135deg,var(--accent-bronze) 0%,#6b5339 100%);color:var(--accent-gold);z-index:10}.test-list-table th{padding:12px 8px;text-align:left;font-weight:600;font-size:.85em;text-transform:uppercase;letter-spacing:.5px}.test-list-table tbody tr{border-bottom:1px solid #eee;background:#fff;transition:background-color .2s}.test-list-table tbody tr:hover{background:#f9f9f9}.test-list-table tbody tr:last-child{border-bottom:none}.test-list-table td{padding:10px 8px}.test-datetime{color:#666;font-size:.85em;white-space:nowrap}.test-name{font-weight:500;color:#333}.test-points{font-weight:600;color:#440d0f}.test-duration,.test-speed{color:#555}.test-accuracy{font-weight:600;color:#16a34a}.logout-btn{background:#ef4444!important;color:#fff!important;border:none!important;padding:.75rem 1.5rem!important;font-weight:600!important;transition:all .3s ease!important}.logout-btn:hover{background:#dc2626!important;transform:translateY(-1px)!important}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--accent-bronze)}.modal-header h3{margin:0;font-family:Crimson Pro,serif;font-size:2rem;font-weight:700;color:var(--accent-gold);text-shadow:1px 1px 2px rgba(0,0,0,.2);letter-spacing:1px}.header-buttons{display:flex;align-items:center;gap:.75rem}.close-btn{background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%)!important;border:2px solid var(--accent-bronze)!important;font-size:1.5rem;cursor:pointer;padding:0!important;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:0!important;color:var(--accent-gold);transition:all .3s ease!important;box-shadow:inset 0 1px #ffffff1a,0 4px 10px #0000004d}.close-btn:hover{background:linear-gradient(135deg,var(--primary-medium) 0%,var(--primary-dark) 100%)!important;color:var(--accent-gold);border-color:var(--accent-gold)!important;transform:rotate(90deg);box-shadow:inset 0 1px #ffffff26,0 6px 15px #0006,0 0 10px #d4af3726!important}.bulk-actions{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.action-group{display:flex;flex-direction:column;gap:8px}.action-group h5{margin:0;font-size:14px;color:#666;text-align:center}.bulk-actions button{padding:8px 16px;border:1px solid #ccc;background:#f5f5f5;border-radius:4px;cursor:pointer;font-size:13px}.bulk-actions button:hover{background:#e5e5e5}.deselect-btn{background:#ffe6e6!important;border-color:#fcc!important}.deselect-btn:hover{background:#fcc!important}.scale-category{margin-bottom:20px}.scale-category h4{margin:0 0 10px;color:#333;border-bottom:1px solid #ddd;padding-bottom:5px}.scale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.scale-checkbox{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px}.scale-checkbox:hover{background:#f9f9f9}.scale-checkbox input[type=checkbox]{margin:0}.modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.apply-btn{padding:.85rem 2rem!important;background:linear-gradient(135deg,var(--accent-bronze) 0%,#6b5339 100%)!important;color:var(--accent-gold)!important;border:2px solid var(--accent-gold)!important;border-radius:0!important;cursor:pointer;font-family:Crimson Pro,serif!important;font-weight:700!important;font-size:1.05rem!important;box-shadow:inset 0 1px #ffffff26,0 8px 18px #0006,0 0 12px #d4af3733!important;transition:all .3s ease!important;text-shadow:1px 1px 2px var(--accent-shadow)}.apply-btn:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,#9d8652,#7a6344)!important;box-shadow:inset 0 1px #fff3,0 12px 25px #00000080,0 0 18px #d4af374d!important}@media(max-width:768px){.welcome-logo{width:80px;height:80px}.welcome-title{font-size:1.75rem}.auth-buttons{max-width:280px}.auth-btn{padding:10px 20px;font-size:.9rem}}@media(prefers-color-scheme:dark){a:hover{color:var(--accent-gold)}h1{color:var(--accent-gold);text-shadow:2px 2px 4px var(--accent-shadow),4px 4px 8px rgba(0,0,0,.5)}h2{color:var(--accent-gold);background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.keyboard-header h2{color:var(--accent-gold);text-shadow:2px 2px 4px var(--accent-shadow)}.test-header{background:#2d1f1ae6;border-color:var(--accent-bronze);box-shadow:inset 0 1px #ffffff1a,inset 0 -2px 4px #0006,0 15px 35px #000000b3,0 0 20px #d4af371a}section{background:#2d1f1ae6;border-color:var(--accent-bronze);box-shadow:inset 0 1px #ffffff1a,inset 0 -2px 4px #0000004d,0 15px 35px #0009,0 0 20px #d4af371a}.stats-section{background:#2d1f1ae6}.score>div{background:#4a3933b3;color:var(--text-light);border-left-color:var(--accent-gold)}input,button{color:var(--text-light);background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-medium) 100%);border-color:var(--accent-bronze)}button:hover{border-color:var(--accent-gold);background:linear-gradient(135deg,var(--primary-medium) 0%,var(--primary-dark) 100%)}button:active{background:linear-gradient(135deg,var(--primary-dark) 0%,#1a1410 100%)}.selection-count{color:var(--text-muted);background:#4a393380}.completion-overlay{background-color:#1a202cf2}.completion-message{color:#e2e8f0;text-shadow:0 4px 12px rgba(175,155,182,.5)}.welcome-title{color:#8b2e2e}.signin-btn{background:linear-gradient(135deg,#84596b,#440d0f)}.signin-btn:hover{box-shadow:0 6px 16px #af9bb666}.signup-btn{background:#2d3748;color:#af9bb6;border-color:#af9bb6}.signup-btn:hover{background:#374151;box-shadow:0 6px 16px #af9bb64d}.back-button{color:#af9bb6}.back-button:hover{color:#b794f4}.modal-content{background:#2d1f1af2;color:var(--text-light);border:3px solid var(--accent-bronze)}.modal-header{border-bottom:2px solid var(--accent-bronze)}.modal-header h3{color:var(--accent-gold)}.modal-overlay:before{border-color:var(--accent-gold);opacity:.3}.scale-category h4{color:#e0e0e0;border-bottom:1px solid #333}.scale-checkbox{background:#262626;border-color:#3a3a3a;color:#f0f0f0}.scale-checkbox:hover{background:#2e2e2e}.bulk-actions button{background:#2a2a2a;color:#eee;border-color:#3a3a3a}.bulk-actions button:hover{background:#333}.deselect-btn{background:#3a1f1f!important;border-color:#5a2a2a!important}.deselect-btn:hover{background:#5a2a2a!important}.modal-footer{border-top:1px solid #333;color:#ccc}.apply-btn{background:#440d0f;color:#fff}.apply-btn:hover{background:#603a40}.duration-btn{background:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}.duration-btn:hover{background:#333;border-color:#440d0f}.duration-time{color:#f0f0f0}.duration-desc{color:#aaa}.test-timer{color:#4b9fff}}
