:root{--text:#64748b;--text-h:#0f172a;--text-muted:#94a3b8;--bg:#fff;--bg-page:#f8fafc;--bg-elevated:#fff;--bg-soft:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--code-bg:#f4f3ec;--accent:#6c3ce8;--accent-strong:#5b2fd1;--accent-bg:#6c3ce81a;--accent-border:#6c3ce859;--text-on-accent:#fff;--entity-link-stroke:#94a3b873;--entity-person:#10b981;--danger:#ef4444;--danger-soft:#fca5a5;--danger-bg:#fef2f2;--danger-bg-strong:#451a1a;--success:#16a34a;--success-soft:#86efac;--success-bg:#f0fdf4;--warning:#f59e0b;--warning-soft:#fcd34d;--warning-bg:#fffbeb;--warning-bg-strong:#451a03;--social-bg:#f4f3ec80;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--layout-max-content:1240px;--layout-sidebar-width:320px;--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);--transition-fast:.16s ease;--transition-normal:.26s ease;--shadow-soft:0 10px 24px -22px #0f172a59;--shadow-card:0 16px 30px -24px #0f172a40;--shadow-pop:0 20px 40px -28px #0f172a66;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}body.dark-mode{--text:#94a3b8;--text-h:#f8fafc;--text-muted:#64748b;--bg:#0f172a;--bg-page:#0f172a;--bg-elevated:#162234;--bg-soft:#1e293b;--border:#334155;--border-strong:#475569;--code-bg:#1e293b;--accent:#a78bfa;--accent-strong:#8b5cf6;--accent-bg:#a78bfa26;--accent-border:#a78bfa59;--text-on-accent:#fff;--entity-link-stroke:#64748b8c;--entity-person:#34d399;--danger:#fca5a5;--danger-soft:#fca5a5;--danger-bg:#451a1a;--danger-bg-strong:#451a1a;--success:#4ade80;--success-soft:#4ade80;--success-bg:#052e16;--warning:#fcd34d;--warning-soft:#fcd34d;--warning-bg:#451a03;--warning-bg-strong:#451a03;--social-bg:#33415580;--shadow-soft:0 14px 30px -22px #020817c7;--shadow-card:0 22px 40px -30px #020817e6;--shadow-pop:0 24px 48px -34px #000000d9;color:#e5e7eb;background:#0f172a}body.dark-mode #social .button-icon{filter:invert()brightness(2)}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.slide-captcha[data-v-f15cf13e]{margin-bottom:16px}.slide-captcha-label[data-v-f15cf13e]{color:var(--text,#374151);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.slide-captcha-rail[data-v-f15cf13e]{-webkit-user-select:none;user-select:none;touch-action:none;cursor:pointer;box-sizing:border-box;border-radius:8px;width:100%;height:44px;position:relative}.slide-captcha-rail--loading[data-v-f15cf13e]{color:var(--text-muted,#6b7280);border:1px dashed var(--border,#e5e7eb);background:#f9fafb;justify-content:center;align-items:center;font-size:13px;display:flex}.slide-captcha-rail-bg[data-v-f15cf13e]{border:1px solid var(--border,#d1d5db);background:linear-gradient(90deg,#f3f4f6 0%,#e5e7eb 55%,#d1fae5 100%);border-radius:8px;transition:border-color .2s,background .2s;position:absolute;inset:0}.slide-captcha-rail.passed .slide-captcha-rail-bg[data-v-f15cf13e]{background:linear-gradient(90deg,#ecfdf5 0%,#d1fae5 100%);border-color:#6ee7b7}.slide-captcha-thumb[data-v-f15cf13e]{color:#fff;cursor:grab;z-index:2;background:linear-gradient(135deg,#6c3ce8 0%,#8b5cf6 100%);border-radius:8px;justify-content:center;align-items:center;height:40px;display:flex;position:absolute;top:2px;left:0;box-shadow:0 2px 8px #6366f159}.slide-captcha-thumb[data-v-f15cf13e]:active{cursor:grabbing}.thumb-icon[data-v-f15cf13e]{font-size:18px;font-weight:700;line-height:1}.slide-captcha-hint[data-v-f15cf13e]{color:var(--text-muted,#6b7280);pointer-events:none;z-index:1;justify-content:center;align-items:center;padding-left:52px;font-size:12px;display:flex;position:absolute;inset:0}.slide-captcha-rail.passed .slide-captcha-hint[data-v-f15cf13e]{color:#059669;font-weight:600}.password-input[data-v-4f16c366]{width:100%;display:block;position:relative}.password-input__field[data-v-4f16c366]{border:1px solid var(--border,#e5e7eb);background:var(--bg,#fff);width:100%;color:var(--text,#374151);box-sizing:border-box;border-radius:8px;padding:12px 44px 12px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.password-input--sm .password-input__field[data-v-4f16c366]{padding:10px 40px 10px 12px;font-size:14px}.password-input__field[data-v-4f16c366]:hover:not(:disabled){border-color:var(--accent,#8b5cf6)}.password-input__field[data-v-4f16c366]:focus{border-color:var(--accent,#8b5cf6);box-shadow:0 0 0 3px var(--accent-bg,#8b5cf61a);outline:none}.password-input__field[data-v-4f16c366]:disabled{opacity:.65;cursor:not-allowed;background:var(--bg-soft,#f3f4f6)}.password-input--invalid .password-input__field[data-v-4f16c366]{border-color:#ef4444}.password-input--invalid .password-input__field[data-v-4f16c366]:focus{box-shadow:0 0 0 3px #ef44441f}.password-input__toggle[data-v-4f16c366]{width:32px;height:32px;color:var(--text-muted,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-input__toggle[data-v-4f16c366]:hover:not(:disabled){color:var(--accent,#8b5cf6);background:var(--accent-bg,#8b5cf614)}.password-input__toggle[data-v-4f16c366]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-a9089a67]{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn-a9089a67;display:flex;position:fixed;inset:0}@keyframes fadeIn-a9089a67{0%{opacity:0}to{opacity:1}}.modal-content[data-v-a9089a67]{background:var(--bg-elevated,white);width:100%;max-width:420px;box-shadow:var(--shadow-pop,0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a);border-radius:16px;padding:32px;animation:.3s slideUp-a9089a67;position:relative}@keyframes slideUp-a9089a67{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close[data-v-a9089a67]{width:32px;height:32px;color:var(--text-muted,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close[data-v-a9089a67]:hover{background:var(--bg-soft,#f3f4f6);color:var(--text-h,#374151)}.modal-header[data-v-a9089a67]{text-align:center;margin-bottom:24px;padding-right:32px}.modal-header h2[data-v-a9089a67]{color:var(--text-h,#1f2937);margin:0 0 8px;font-size:22px;font-weight:700}.modal-header p[data-v-a9089a67]{color:var(--text-muted,#6b7280);margin:0;font-size:13px}.error-alert[data-v-a9089a67]{background:var(--danger-bg,#fef2f2);border:1px solid var(--danger-soft,#fecaca);color:var(--danger,#dc2626);border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.error-icon[data-v-a9089a67]{font-size:16px}.login-form[data-v-a9089a67]{margin-bottom:20px}.form-group[data-v-a9089a67]{margin-bottom:16px}.form-label-row[data-v-a9089a67]{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.form-label-row .form-label[data-v-a9089a67]{margin-bottom:0;display:inline-block}.form-label[data-v-a9089a67]{color:var(--text,#374151);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.forgot-password-link[data-v-a9089a67]{color:var(--accent,#8b5cf6);white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:500;line-height:1.4;text-decoration:none}.forgot-password-link[data-v-a9089a67]:hover{color:var(--accent-strong,#7c3aed);text-decoration:underline}.form-input[data-v-a9089a67]{border:1px solid var(--border,#e5e7eb);background:var(--bg,white);width:100%;color:var(--text,#374151);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.form-input[data-v-a9089a67]:hover{border-color:var(--accent,#8b5cf6)}.form-input[data-v-a9089a67]:focus{border-color:var(--accent,#8b5cf6);box-shadow:0 0 0 3px var(--accent-bg,#8b5cf61a);outline:none}.btn[data-v-a9089a67]{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-a9089a67]{color:var(--text-on-accent,white);background:linear-gradient(135deg,#6c3ce8 0%,#8b5cf6 100%);box-shadow:0 1px 3px #8b5cf633}.btn-primary[data-v-a9089a67]:hover{background:linear-gradient(135deg,#5b2fd1 0%,#7c3aed 100%);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.btn-primary[data-v-a9089a67]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-github[data-v-a9089a67]{color:#fff;background:#24292f;border:1px solid #57606a;margin-top:10px;box-shadow:0 1px 2px #00000014}.btn-github iconify-icon[data-v-a9089a67]{color:#fff}.btn-github[data-v-a9089a67]:hover:not(:disabled){color:#fff;background:#1b1f23;border-color:#6e7781;transform:translateY(-1px);box-shadow:0 4px 10px #24292f40}.btn-full[data-v-a9089a67]{width:100%}.btn-spinner[data-v-a9089a67]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.modal-footer[data-v-a9089a67]{text-align:center;color:var(--text-muted,#6b7280);font-size:13px}.register-link[data-v-a9089a67]{color:var(--accent,#8b5cf6);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.register-link[data-v-a9089a67]:hover{color:var(--accent-strong,#7c3aed);text-decoration:underline}.email-otp-field[data-v-5c7a61ec]{margin-top:8px}.email-otp-row[data-v-5c7a61ec]{align-items:stretch;gap:8px;display:flex}.email-otp-input[data-v-5c7a61ec]{border:1px solid var(--border,#e5e7eb);background:var(--bg,#fff);width:100%;min-width:0;color:var(--text,#374151);box-sizing:border-box;border-radius:8px;flex:1;padding:12px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.email-otp-input[data-v-5c7a61ec]:hover:not(:disabled){border-color:var(--accent,#8b5cf6)}.email-otp-input[data-v-5c7a61ec]:focus{border-color:var(--accent,#8b5cf6);box-shadow:0 0 0 3px var(--accent-bg,#8b5cf61a);outline:none}.email-otp-input[data-v-5c7a61ec]:disabled{opacity:.65;cursor:not-allowed;background:var(--bg-soft,#f3f4f6)}.email-otp-input--invalid[data-v-5c7a61ec]{border-color:#ef4444}.email-otp-input--invalid[data-v-5c7a61ec]:focus{box-shadow:0 0 0 3px #ef44441f}.email-otp-send[data-v-5c7a61ec]{white-space:nowrap;border:1px solid var(--border,#e5e7eb);background:var(--bg-soft,#f3f4f6);color:var(--text,#374151);cursor:pointer;box-sizing:border-box;appearance:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.25;transition:all .2s;display:inline-flex}.email-otp-send[data-v-5c7a61ec]:hover:not(:disabled){border-color:var(--accent,#8b5cf6);color:var(--accent,#8b5cf6);background:var(--accent-bg,#8b5cf614)}.email-otp-send[data-v-5c7a61ec]:disabled{opacity:.55;cursor:not-allowed}.field-hint[data-v-5c7a61ec]{color:var(--text-muted,#6b7280);margin:6px 0 0;font-size:12px;line-height:1.4}.field-hint--error[data-v-5c7a61ec]{color:#ef4444}.field-hint--success[data-v-5c7a61ec]{color:#059669}@media (width<=480px){.email-otp-row[data-v-5c7a61ec]{flex-direction:column}.email-otp-send[data-v-5c7a61ec]{width:100%}}.modal-overlay[data-v-b2c13e56]{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn-b2c13e56;display:flex;position:fixed;inset:0}@keyframes fadeIn-b2c13e56{0%{opacity:0}to{opacity:1}}.modal-content[data-v-b2c13e56]{background:var(--bg-elevated,white);width:100%;max-width:420px;box-shadow:var(--shadow-pop,0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a);border-radius:16px;max-height:90vh;padding:32px;animation:.3s slideUp-b2c13e56;position:relative;overflow-y:auto}@keyframes slideUp-b2c13e56{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close[data-v-b2c13e56]{width:32px;height:32px;color:var(--text-muted,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.modal-close[data-v-b2c13e56]:hover{background:var(--bg-soft,#f3f4f6);color:var(--text-h,#374151)}.modal-header[data-v-b2c13e56]{text-align:center;margin-bottom:24px;padding-right:32px}.modal-header h2[data-v-b2c13e56]{color:var(--text-h,#1f2937);margin:0 0 8px;font-size:22px;font-weight:700}.modal-header p[data-v-b2c13e56]{color:var(--text-muted,#6b7280);margin:0;font-size:13px}.error-alert[data-v-b2c13e56]{background:var(--danger-bg,#fef2f2);border:1px solid var(--danger-soft,#fecaca);color:var(--danger,#dc2626);border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.error-icon[data-v-b2c13e56]{font-size:16px}.success-alert[data-v-b2c13e56]{background:var(--success-bg,#f0fdf4);border:1px solid var(--success-soft,#86efac);color:var(--success,#166534);border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.success-icon[data-v-b2c13e56]{font-size:16px}.register-form[data-v-b2c13e56]{margin-bottom:20px}.form-group[data-v-b2c13e56]{margin-bottom:14px}.form-label[data-v-b2c13e56]{color:var(--text,#374151);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input[data-v-b2c13e56]{border:1px solid var(--border,#e5e7eb);background:var(--bg,white);width:100%;color:var(--text,#374151);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.form-input[data-v-b2c13e56]:hover{border-color:var(--accent,#8b5cf6)}.form-input[data-v-b2c13e56]:focus{border-color:var(--accent,#8b5cf6);box-shadow:0 0 0 3px var(--accent-bg,#8b5cf61a);outline:none}.form-input.input-invalid[data-v-b2c13e56]{border-color:#ef4444}.form-input.input-invalid[data-v-b2c13e56]:focus{box-shadow:0 0 0 3px #ef44441f}.field-hint[data-v-b2c13e56]{color:var(--text-muted,#6b7280);margin:6px 0 0;font-size:12px;line-height:1.4}.field-hint--error[data-v-b2c13e56]{color:#ef4444}.btn[data-v-b2c13e56]{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary[data-v-b2c13e56]{color:var(--text-on-accent,white);background:linear-gradient(135deg,#6c3ce8 0%,#8b5cf6 100%);box-shadow:0 1px 3px #8b5cf633}.btn-primary[data-v-b2c13e56]:hover:not(:disabled){background:linear-gradient(135deg,#5b2fd1 0%,#7c3aed 100%);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.btn-primary[data-v-b2c13e56]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-github[data-v-b2c13e56]{color:#fff;background:#24292f;border:1px solid #57606a;margin-top:10px;box-shadow:0 1px 2px #00000014}.btn-github iconify-icon[data-v-b2c13e56]{color:#fff}.btn-github[data-v-b2c13e56]:hover:not(:disabled){color:#fff;background:#1b1f23;border-color:#6e7781;transform:translateY(-1px);box-shadow:0 4px 10px #24292f40}.btn-full[data-v-b2c13e56]{width:100%}.btn-spinner[data-v-b2c13e56]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.modal-footer[data-v-b2c13e56]{text-align:center;color:var(--text-muted,#6b7280);font-size:13px}.login-link[data-v-b2c13e56]{color:var(--accent,#8b5cf6);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}.login-link[data-v-b2c13e56]:hover{color:var(--accent-strong,#7c3aed);text-decoration:underline}body.dark-mode .modal-overlay{background:#000000b3}.bottom-nav[data-v-78e851f6]{height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box;background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);border-top:1px solid color-mix(in srgb, var(--border) 90%, transparent);z-index:10050;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:saturate(140%)blur(10px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item[data-v-78e851f6]{color:var(--text);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;height:100%;padding:6px 8px;transition:all .2s;display:flex}.bottom-nav-item span[data-v-78e851f6]{font-size:11px;font-weight:500}.bottom-nav-item[data-v-78e851f6]:hover,.bottom-nav-item.active[data-v-78e851f6]{color:var(--accent)}.bottom-nav-item.active span[data-v-78e851f6]{font-weight:600}body.dark-mode .bottom-nav[data-v-78e851f6]{background:color-mix(in srgb, var(--bg-page) 86%, transparent);border-color:color-mix(in srgb, var(--border) 85%, transparent);box-shadow:var(--shadow-soft)}body.dark-mode .bottom-nav-item[data-v-78e851f6]{color:var(--text)}body.dark-mode .bottom-nav-item[data-v-78e851f6]:hover,body.dark-mode .bottom-nav-item.active[data-v-78e851f6]{color:var(--accent)}@media (width>=769px){.bottom-nav[data-v-78e851f6]{display:none}}*{box-sizing:border-box;margin:0;padding:0}.skip-link{z-index:9999;background:var(--accent,#6c3ce8);color:#fff;border-radius:8px;padding:10px 20px;font-size:15px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}body{color:#1f2937;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:linear-gradient(#f8fafc 0%,#f3f4f6 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.55}.app-wrapper{min-height:100vh}@media (width<=768px){.app-wrapper{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.app-wrapper.no-bottom-padding{padding-bottom:0}}body.dark-mode{color:#f9fafb;background:radial-gradient(1200px 600px at 50% -200px,#1e293b 0%,#0f172a 60%)}
