:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{color:#00bd7e;padding:3px;text-decoration:none;transition:all .4s}@media (hover:hover){a:hover{background-color:#00bd7e33}}@media (width>=1024px){body{place-items:center;display:flex}#app{grid-template-columns:1fr 1fr;padding:0 2rem;display:grid}}.login-container[data-v-8b53862b]{text-align:center;color:#fff;max-width:400px;margin:100px auto;font-family:Arial,sans-serif}h1[data-v-8b53862b]{color:#e94560;margin-bottom:30px}.form[data-v-8b53862b]{margin-bottom:20px}.input[data-v-8b53862b]{color:#fff;box-sizing:border-box;background:#1a1a2e;border:1px solid #333;border-radius:6px;outline:none;width:100%;margin:10px 0;padding:12px;font-size:14px;display:block}.input[data-v-8b53862b]:focus{border-color:#e94560}.buttons[data-v-8b53862b]{gap:10px;margin-top:15px;display:flex}.btn[data-v-8b53862b]{color:#fff;cursor:pointer;background:#e94560;border:none;border-radius:6px;flex:1;padding:12px;font-size:14px}.btn[data-v-8b53862b]:hover{background:#c73e54}.challenge[data-v-8b53862b]{background:#1a1a2e;border-radius:6px;margin-top:20px;padding:15px}.challenge p[data-v-8b53862b]{color:#ccc;margin-bottom:10px;font-size:13px}.error[data-v-8b53862b]{color:#e74c3c;margin-top:15px}.success[data-v-8b53862b]{color:#2ecc71;margin-top:15px}.key-box[data-v-8b53862b]{text-align:left;background:#2d2d1a;border:1px solid #e9c545;border-radius:6px;margin-top:15px;padding:12px}.key-box p[data-v-8b53862b]{color:#e9c545;margin-bottom:6px;font-size:13px}.key-box p[data-v-8b53862b]:first-child{color:#e74c3c;font-weight:700}.key-box code[data-v-8b53862b]{color:#e9c545;word-break:break-all;background:#1a1a0a;border-radius:4px;margin-bottom:8px;padding:8px;font-size:11px;display:block}.btn-copy[data-v-8b53862b]{color:#1a1a0a;cursor:pointer;background:#e9c545;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:700}.qr-section[data-v-8b53862b]{text-align:center;margin:20px 0}.qr-divider[data-v-8b53862b]{color:#666;margin-bottom:10px;font-size:13px}.btn-qr[data-v-8b53862b]{color:#fff;cursor:pointer;background:#2ecc71;border:none;border-radius:6px;padding:10px 20px;font-size:14px}.btn-qr[data-v-8b53862b]:hover{background:#27ae60}.qr-scanner-area[data-v-8b53862b]{margin-top:12px}.btn-cancel[data-v-8b53862b]{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:6px;padding:8px 16px;font-size:13px}.qr-code-area[data-v-8b53862b]{text-align:center;margin-top:16px}.qr-code-area canvas[data-v-8b53862b]{background:#fff;border-radius:8px;padding:8px}.qr-hint[data-v-8b53862b]{color:#999;margin-top:8px;font-size:12px}.qr-waiting[data-v-8b53862b]{color:#e94560;margin-top:8px;font-size:14px;animation:1.5s infinite pulse-8b53862b}@keyframes pulse-8b53862b{0%,to{opacity:1}50%{opacity:.5}}.btn-cancel[data-v-8b53862b]:hover{background:#c0392b}
