.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);min-height:var(--touch-target-min, 44px);padding:var(--spacing-3) var(--spacing-6);font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;white-space:nowrap;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);user-select:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary)}.btn-primary:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-text-primary)}.btn-ghost{background-color:transparent;border-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:#ffffff1a;color:var(--color-text-primary)}.btn-outline{background-color:transparent;border-color:var(--border-color);color:var(--color-text-secondary)}.btn-outline:hover{background-color:#ffffff0d;border-color:var(--color-text-secondary);color:var(--color-text-primary)}.btn-academic{background-color:var(--color-academic);border-color:var(--color-academic);color:#fff}.btn-academic:hover{background-color:#7c3aed;border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.btn-career{background-color:var(--color-career);border-color:var(--color-career);color:#fff}.btn-career:hover{background-color:#059669;border-color:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-success{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.btn-success:hover{background-color:#059669;border-color:#059669}.btn-danger{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.btn-xs{min-height:32px;padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);border-radius:var(--radius-md)}.btn-sm{min-height:36px;padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.btn-lg{min-height:52px;padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg)}.btn-xl{min-height:60px;padding:var(--spacing-5) var(--spacing-10);font-size:var(--font-size-xl)}.btn-block{width:100%}.btn-icon{padding:var(--spacing-3);min-width:var(--touch-target-min)}.btn-icon.btn-sm{padding:var(--spacing-2);min-width:36px}.btn-icon.btn-lg{padding:var(--spacing-4);min-width:52px}.btn-pill{border-radius:var(--radius-full)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.btn-group .btn:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.btn-group .btn:not(:last-child){border-right-width:1px}.btn-social{background-color:var(--color-bg-elevated);border-color:var(--border-color);color:var(--color-text-primary)}.btn-social:hover{background-color:var(--color-bg-muted);border-color:var(--color-text-muted)}.btn-social svg,.btn-social img{width:20px;height:20px}.btn-google:hover{border-color:#4285f4}.btn-microsoft:hover{border-color:#00a4ef}
