.knack-auth-page{margin:0;padding:0;min-height:100vh;background:var(--knack-bg);color:var(--knack-text);font-family:var(--knack-font-body);font-size:var(--knack-text-base);line-height:var(--knack-line-height)}.knack-auth-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:40px 24px;position:relative;overflow:hidden}.knack-auth-bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.knack-auth-layout{pointer-events:auto}.knack-auth-card{position:relative;z-index:1;width:100%;max-width:460px;padding:40px 36px;background:rgba(255,255,255,0.92);border:1px solid var(--knack-border-soft,rgba(0,0,0,0.08));border-radius:20px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 3px rgba(0,0,0,0.04),0 8px 32px rgba(0,0,0,0.06);animation:fadeSlideIn 0.5s cubic-bezier(0.16,1,0.3,1) forwards}.aoty-dark-mode .knack-auth-card{background:rgba(22,27,34,0.82);border-color:rgba(255,255,255,0.06);box-shadow:0 1px 3px rgba(0,0,0,0.2),0 8px 40px rgba(0,0,0,0.35)}.knack-auth-card-logo{text-align:center;margin-bottom:28px}.knack-auth-card-logo img{max-height:74px;width:auto}.knack-auth-card-logo a{display:inline-block}.knack-auth-brand-name{font-size:1.375rem;font-weight:700;letter-spacing:-0.01em}.knack-auth-card-footer{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--knack-border-soft)}.knack-steps-nav{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:28px}.knack-step-item{display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0.4;transition:opacity 0.4s ease}.knack-step-item.is-active,.knack-step-item.is-complete{opacity:1}.knack-step-dot{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:2px solid var(--knack-border,#d1d5db);display:flex;align-items:center;justify-content:center;transition:all 0.4s ease;position:relative}.knack-step-dot-inner{width:8px;height:8px;border-radius:50%;background:transparent;transition:all 0.4s ease}.knack-step-item.is-active .knack-step-dot{border-color:var(--knack-accent,#60335e);background:color-mix(in srgb,var(--knack-accent,#60335e) 10%,transparent)}.knack-step-item.is-active .knack-step-dot-inner{background:var(--knack-accent,#60335e)}.knack-step-item.is-complete .knack-step-dot{border-color:var(--knack-accent,#60335e);background:var(--knack-accent,#60335e)}.knack-step-check{display:none;color:#fff}.knack-step-item.is-complete .knack-step-check{display:block}.knack-step-item.is-complete .knack-step-dot-inner{display:none}.knack-step-name{font-size:0.75rem;font-weight:500;color:var(--knack-text-secondary);white-space:nowrap}.knack-step-item.is-active .knack-step-name{color:var(--knack-text);font-weight:600}.knack-step-connector{flex:0 0 48px;height:2px;background:var(--knack-border-soft,#e5e7eb);margin:0 8px;margin-bottom:20px;border-radius:1px;transition:background 0.4s ease}.knack-step-item.is-complete + .knack-step-connector{background:var(--knack-accent,#60335e)}.aoty-dark-mode .knack-step-dot{border-color:var(--knack-border,#30363d)}.aoty-dark-mode .knack-step-connector{background:var(--knack-border,#30363d)}.knack-auth-form{position:relative;overflow:hidden}.knack-step{display:none;flex-direction:column;gap:20px}.knack-step.is-active{display:flex;animation:fadeSlideIn 0.45s cubic-bezier(0.16,1,0.3,1) forwards}@keyframes slideOutLeft{from{transform:translateX(0);opacity:1}to{transform:translateX(-60px);opacity:0}}@keyframes slideInRight{from{transform:translateX(60px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(60px);opacity:0}}@keyframes slideInLeft{from{transform:translateX(-60px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeSlideIn{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.knack-step.slide-out-left{animation:slideOutLeft 0.3s ease forwards}.knack-step.slide-in-right{animation:slideInRight 0.4s cubic-bezier(0.16,1,0.3,1) forwards}.knack-step.slide-out-right{animation:slideOutRight 0.3s ease forwards}.knack-step.slide-in-left{animation:slideInLeft 0.4s cubic-bezier(0.16,1,0.3,1) forwards}.knack-fade-in{animation:fadeIn 0.3s ease forwards}.knack-step-header{margin-bottom:4px}.knack-step-title{font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;margin:0 0 6px;color:var(--knack-text);text-align:center}.knack-step-subtitle{margin:0 0 8px;color:var(--knack-text-secondary);font-size:0.9375rem;line-height:1.5;text-align:center}.knack-step-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:4px}.knack-step-back{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--knack-border);border-radius:var(--knack-radius-xl);padding:10px 18px;color:var(--knack-text-secondary);font-size:0.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all 0.2s ease}.knack-step-back:hover{border-color:var(--knack-text-muted);color:var(--knack-text);background:var(--knack-bg-secondary)}.knack-auth-field{display:flex;flex-direction:column;gap:6px}.knack-auth-field label{display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;font-weight:500;color:var(--knack-text)}.knack-auth-field input[type="text"],.knack-auth-field input[type="email"],.knack-auth-field input[type="password"]{width:100%;padding:12px 14px;background:var(--knack-bg);border:1px solid var(--knack-border);border-radius:var(--knack-radius-xl);color:var(--knack-text);font-size:0.9375rem;font-family:inherit;transition:border-color 0.2s,box-shadow 0.2s;outline:none;box-sizing:border-box}.knack-auth-field input:hover{border-color:var(--knack-text-muted)}.knack-auth-field input:focus{border-color:var(--knack-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--knack-accent) 12%,transparent)}.knack-auth-field input::placeholder{color:var(--knack-text-muted)}.knack-username-wrap{display:flex;align-items:center;border:1px solid var(--knack-border);border-radius:var(--knack-radius-xl);overflow:hidden;transition:border-color 0.2s,box-shadow 0.2s;background:var(--knack-bg)}.knack-username-wrap:focus-within{border-color:var(--knack-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--knack-accent) 12%,transparent)}.knack-username-prefix{padding:12px 0 12px 14px;color:var(--knack-text-muted);font-size:0.9375rem;font-weight:500;user-select:none}.knack-username-wrap input{border:none !important;box-shadow:none !important;padding-left:4px !important;background:transparent !important}.knack-auth-password-wrap{position:relative;display:flex;align-items:center}.knack-auth-password-wrap input{padding-right:44px}.knack-auth-toggle-pw{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--knack-text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--knack-radius-sm,4px);transition:color 0.2s}.knack-auth-toggle-pw:hover{color:var(--knack-text-secondary)}.knack-pw-strength{display:flex;gap:4px;margin-top:4px}.knack-pw-strength-seg{flex:1;height:4px;border-radius:2px;background:var(--knack-border-soft);transition:background 0.3s ease,transform 0.3s ease;transform:scaleY(0.6);transform-origin:bottom}.knack-pw-strength-label{font-size:0.75rem;font-weight:500;transition:color 0.3s ease;min-height:1em;display:block}.knack-pw-requirements{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:0;overflow:hidden;opacity:0;transition:max-height 0.3s ease,opacity 0.3s ease,margin 0.3s ease}.knack-pw-requirements.is-visible{max-height:80px;opacity:1;margin-top:6px}.knack-pw-req{display:flex;align-items:center;gap:6px;font-size:0.75rem;color:var(--knack-text-muted,#9ca3af);transition:color 0.2s}.knack-pw-req .knack-pw-req-icon{opacity:0.3;color:var(--knack-text-muted,#9ca3af);transition:opacity 0.2s,color 0.2s}.knack-pw-req.is-met{color:#16a34a}.knack-pw-req.is-met .knack-pw-req-icon{opacity:1;color:#16a34a}.knack-pw-match-label{font-size:0.75rem;font-weight:500;min-height:1.2em;display:block;margin-top:4px;transition:color 0.2s}.knack-pw-match-label.is-match{color:#16a34a}.knack-pw-match-label.is-mismatch{color:#ef4444}.knack-auth-password-wrap.is-mismatch input{border-color:#ef4444}.knack-auth-password-wrap.is-match input{border-color:#16a34a}.knack-auth-forgot{font-size:0.8125rem;font-weight:500;color:var(--knack-accent);text-decoration:none;transition:color 0.2s}.knack-auth-forgot:hover{text-decoration:underline}.knack-auth-remember{display:flex;align-items:center}.knack-auth-remember label{display:flex;align-items:center;gap:8px;font-size:0.875rem;color:var(--knack-text-secondary);cursor:pointer}.knack-auth-remember input[type="checkbox"]{width:16px;height:16px;border-radius:4px;border:1px solid var(--knack-border);accent-color:var(--knack-accent);cursor:pointer}.knack-role-selector{gap:10px !important}.knack-role-selector>label:first-child{display:none !important}.knack-role-toggle{display:grid !important;grid-template-columns:1fr 1fr;gap:16px !important;margin-top:0 !important}.knack-role-option{display:flex;flex-direction:column !important;align-items:center !important;text-align:center;gap:16px !important;padding:28px 20px !important;border:2px solid var(--knack-border-soft,#e5e7eb);border-radius:16px;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);flex:none !important;position:relative}.knack-role-option:hover{border-color:var(--knack-accent,#60335e);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.08)}.knack-role-option--active{border-color:var(--knack-accent,#60335e) !important;background:color-mix(in srgb,var(--knack-accent,#60335e) 5%,transparent);transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--knack-accent,#60335e) 15%,transparent) !important}.knack-role-option--active::after{content:'';position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--knack-accent,#60335e);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px;animation:popIn 0.3s cubic-bezier(0.175,0.885,0.32,1.275)}@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}.knack-role-icon{flex-shrink:0;width:52px !important;height:52px !important;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--knack-bg-secondary,#f3f4f6);transition:all 0.25s ease}.knack-role-icon svg{width:24px;height:24px}.knack-role-option--active .knack-role-icon{background:var(--knack-accent,#60335e);color:#fff;transform:scale(1.05)}.knack-role-label{display:flex;flex-direction:column;gap:4px;min-width:0}.knack-role-label strong{font-size:0.9375rem !important;line-height:1.3}.knack-role-label small{font-size:0.8125rem !important;opacity:0.6;line-height:1.4}.aoty-dark-mode .knack-role-option{border-color:var(--knack-border,#30363d)}.aoty-dark-mode .knack-role-icon{background:var(--knack-surface-hover,#21262d)}.knack-auth-message{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--knack-radius-xl);margin-bottom:8px;font-size:0.875rem;line-height:1.5}.knack-auth-message svg{flex-shrink:0;margin-top:2px}.knack-auth-message p{margin:0}.knack-auth-message--error{background:rgba(239,68,68,0.07);border:1px solid rgba(239,68,68,0.18);color:#dc2626}.knack-auth-message--error svg{color:#ef4444}.knack-auth-message--success,.knack-auth-message--info{background:rgba(16,185,129,0.07);border:1px solid rgba(16,185,129,0.18);color:#059669}.knack-auth-message--success svg,.knack-auth-message--info svg{color:#10b981}.aoty-dark-mode .knack-auth-message--error{background:rgba(239,68,68,0.12);border-color:rgba(239,68,68,0.25);color:#fca5a5}.aoty-dark-mode .knack-auth-message--success,.aoty-dark-mode .knack-auth-message--info{background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.25);color:#6ee7b7}.knack-sso-buttons{display:flex;flex-direction:column;gap:10px}.knack-sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 20px;border:1px solid var(--knack-border);border-radius:var(--knack-radius-xl);background:var(--knack-surface-raised,#fff);color:var(--knack-text);font-size:0.9375rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all 0.2s ease;text-decoration:none}.knack-sso-btn:hover{background:var(--knack-bg-secondary);border-color:var(--knack-text-muted);box-shadow:0 2px 8px rgba(0,0,0,0.06)}.knack-sso-btn svg{flex-shrink:0}.aoty-dark-mode .knack-sso-btn{background:var(--knack-surface,#161b22);border-color:var(--knack-border,#30363d)}.aoty-dark-mode .knack-sso-btn:hover{background:var(--knack-surface-hover,#21262d)}.knack-auth-divider{display:flex;align-items:center;gap:16px;margin:4px 0;color:var(--knack-text-muted);font-size:0.8125rem}.knack-auth-divider::before,.knack-auth-divider::after{content:'';flex:1;height:1px;background:var(--knack-border-soft)}.knack-auth-submit{width:100%;padding:13px 24px;background:var(--knack-btn-bg,var(--knack-accent));color:var(--knack-btn-text,#fff);border:none;border-radius:var(--knack-radius-xl);font-size:0.9375rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.knack-auth-submit:hover{filter:brightness(1.08);box-shadow:0 4px 16px color-mix(in srgb,var(--knack-accent) 30%,transparent)}.knack-auth-submit:active{transform:scale(0.98)}.knack-auth-submit:focus-visible{outline:2px solid var(--knack-accent);outline-offset:2px}.knack-auth-submit svg{transition:transform 0.2s ease}.knack-auth-submit:hover svg{transform:translateX(3px)}.knack-step-actions .knack-auth-submit{width:auto;flex:1;max-width:220px}.knack-auth-field--checkbox{flex-direction:row;align-items:flex-start;gap:0}.knack-auth-checkbox-label{display:flex !important;align-items:flex-start;gap:10px;font-size:0.875rem !important;font-weight:400 !important;color:var(--knack-text-secondary) !important;cursor:pointer;line-height:1.5}.knack-auth-checkbox-label input[type="checkbox"]{width:18px;height:18px;border-radius:5px;border:1px solid var(--knack-border);background:var(--knack-bg);cursor:pointer;accent-color:var(--knack-accent);flex-shrink:0;margin-top:1px}.knack-auth-checkbox-label a{color:var(--knack-accent);text-decoration:none;font-weight:500}.knack-auth-checkbox-label a:hover{text-decoration:underline}.knack-auth-alt{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--knack-border-soft)}.knack-auth-alt p{margin:0;font-size:0.875rem;color:var(--knack-text-secondary)}.knack-auth-alt a{color:var(--knack-accent);text-decoration:none;font-weight:600}.knack-auth-alt a:hover{text-decoration:underline}.knack-auth-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--knack-text-muted);text-decoration:none;font-size:0.8125rem;transition:color 0.2s}.knack-auth-back-link:hover{color:var(--knack-text-secondary)}.knack-login-page .knack-auth-card{max-width:420px}.knack-login-page .knack-auth-form{display:flex;flex-direction:column;gap:20px}.knack-auth-page .knack-header,.knack-auth-page .knack-side-panel,.knack-auth-page .knack-footer,.knack-auth-page .knack-site-inner,.knack-auth-page #wpadminbar,.knack-auth-page #aoty-global-player{display:none !important}.aoty-dark-mode.knack-auth-page{background:#0d1117}.aoty-dark-mode .knack-step-item.is-complete .knack-step-check{color:#fff}@media (max-width:520px){.knack-auth-layout{padding:20px 16px}.knack-auth-card{padding:28px 20px;border-radius:16px}.knack-step-title{font-size:1.25rem}.knack-role-toggle{gap:12px !important}.knack-role-option{padding:20px 16px !important}.knack-step-actions{flex-direction:column-reverse;gap:10px}.knack-step-actions .knack-auth-submit,.knack-step-actions .knack-step-back{width:100%;max-width:none}.knack-step-back{justify-content:center}.knack-step-connector{flex:0 0 28px}}@media (max-width:380px){.knack-role-toggle{grid-template-columns:1fr !important}.knack-auth-layout{padding:12px}.knack-auth-card{padding:24px 16px}}.knack-auth-page.knack-lostpassword-page .knack-auth-subtitle{font-size:0.875rem;max-width:320px}